Ôn tập để Kiểm tra giữa kỳ và Thi lý thuyết
+34
lekhacduyanh03(HLT3)
NguyenVietLong08(HLT3)
VanPhuAnhTuan95(HLT3)
HoangMinhNhat (HLT3)
chukimphuong89(HLT3)
NguyenHoangKhanhHuy (HLT3
PhamAnhDung_HLT3
NguyễnMinhHoàng45(HLT3)
truongphamhuytruong.i11c
BuiNguyenHoangYen (HLT3)
HuynhHuuPhat(HLT3)
VoThanhTrung41 (HLT3)
NguyenHuuSonLam(TH10A1)
HaLongHuy18(11A3)
TranQuocHuy (HLT3)
PhanVietTrung(HLT3)
NguyenVanNhieu74 (HLT3)
VoMinhQuang (HLT3)
NguyenChiKien(HLT3)
vothihongngoc72 (HLT3)
DoHaQuocTrung17 (HLT3)
KhanhChan
NguyenTrungTruc(HLT3)
HuynhNgoHaiDang(HLT3)
dangthituyetnhungTH08a1
QuachHoangKhuongPhongHLT3
NguyenVietThong(HLT3)
NguyenThiThuThao(TH09A2)
NguyenQuocCuong(HLT3)
DinhThienPhuoc99(HLT3)
LeVanVan69 (I22B)
VoThiHuynhVan(TH09A2)
NguyenVanNgoc (HLT3)
Admin
38 posters
Trang 3 trong tổng số 5 trang
Trang 3 trong tổng số 5 trang • 1, 2, 3, 4, 5
Re: Ôn tập để Kiểm tra giữa kỳ và Thi lý thuyết
dù bạn có thay thế số nào thì vẫn thế thôi. mình chứng minh bằng công thức chứ không dùng số nhé.NguyenChiKien(HLT3) đã viết:NguyễnMinhHoàng45(HLT3) đã viết:Thưa thầy và các bạn, em cũng tìm hiểu thử xem có làm được không mà mãi không được, sau đó em phát hiện được đề bài thầy cho là không thể tìm được dữ liệu bài tập nào thỏa mãn nhu cầu.Sửa lại bài tập 5 (đã giải ở lớp) sao cho với câu b. tìm được 2 tiến trình đầu tiên của chuỗi an toàn nhưng không tìm được tiến trình thứ 3
Lý do: Theo lý thuyết về chuỗi an toàn thì
Need3 <= Available + Allocation1 + Allocation2
thì mới tồn tại chuỗi an toàn. ở đây theo giả sử của thầy là chỉ có 3 tiến trình và muốn tìm đề sao cho không thể đáp ứng ở tiến trình thứ 3 (cuối cùng)
Muốn vậy thì Need3 > Available + Allocation1 + Allocation2
Mà Ta có Need3 = Max3 - Allocation3
==> Max3 - Allocation3 > Available + Allocation1 + Allocation2
<=> Max3 > Available + Allocation1 + Allocation2 + Allocation3
Do chỉ có 3 tiến trình nên Available + Allocation1 + Allocation2 + Allocation3 = MAX (Max system)
==> Max3 > MAX
==> điều sai. hệ không thể cung cấp nhiều hơn số tài nguyên
==> không thể tìm được đề bài nào như thầy nói
==> không thể có đề bài nào dừng ở tiến trình cuối cùng
Theo mình nghĩ, Hoàng hỏng hiểu ý thầy rồi... ý thầy là mình có thể thay thế những con số khác (có thể tất cả) chứ k0 phải vẫn giữ giá trị MAX như Hoàng trình bày... chứ bài của thầy đương nhiên thầy sẽ biết k0 thể nào có đề bài dừng ở tiến trình thứ 3 nếu áp dụng số liệu cũ...
NguyễnMinhHoàng45(HLT3)- Tổng số bài gửi : 44
Join date : 17/02/2012
Age : 39
Đến từ : Viet Nam
Re: Ôn tập để Kiểm tra giữa kỳ và Thi lý thuyết
ý mình có nghĩa là không thể tìm được đề bài nào có câu b dừng ở tiến trình cuối cùng cả... ví dụ tổng cộng có 5 tiến trình thì ko thể tìm được bài nào dừng ở tiến trình thứ 5? bạn có hiểu không ạNguyễnMinhHoàng45(HLT3) đã viết:dù bạn có thay thế số nào thì vẫn thế thôi. mình chứng minh bằng công thức chứ không dùng số nhé.NguyenChiKien(HLT3) đã viết:NguyễnMinhHoàng45(HLT3) đã viết:Thưa thầy và các bạn, em cũng tìm hiểu thử xem có làm được không mà mãi không được, sau đó em phát hiện được đề bài thầy cho là không thể tìm được dữ liệu bài tập nào thỏa mãn nhu cầu.Sửa lại bài tập 5 (đã giải ở lớp) sao cho với câu b. tìm được 2 tiến trình đầu tiên của chuỗi an toàn nhưng không tìm được tiến trình thứ 3
Lý do: Theo lý thuyết về chuỗi an toàn thì
Need3 <= Available + Allocation1 + Allocation2
thì mới tồn tại chuỗi an toàn. ở đây theo giả sử của thầy là chỉ có 3 tiến trình và muốn tìm đề sao cho không thể đáp ứng ở tiến trình thứ 3 (cuối cùng)
Muốn vậy thì Need3 > Available + Allocation1 + Allocation2
Mà Ta có Need3 = Max3 - Allocation3
==> Max3 - Allocation3 > Available + Allocation1 + Allocation2
<=> Max3 > Available + Allocation1 + Allocation2 + Allocation3
Do chỉ có 3 tiến trình nên Available + Allocation1 + Allocation2 + Allocation3 = MAX (Max system)
==> Max3 > MAX
==> điều sai. hệ không thể cung cấp nhiều hơn số tài nguyên
==> không thể tìm được đề bài nào như thầy nói
==> không thể có đề bài nào dừng ở tiến trình cuối cùng
Theo mình nghĩ, Hoàng hỏng hiểu ý thầy rồi... ý thầy là mình có thể thay thế những con số khác (có thể tất cả) chứ k0 phải vẫn giữ giá trị MAX như Hoàng trình bày... chứ bài của thầy đương nhiên thầy sẽ biết k0 thể nào có đề bài dừng ở tiến trình thứ 3 nếu áp dụng số liệu cũ...
NguyễnMinhHoàng45(HLT3)- Tổng số bài gửi : 44
Join date : 17/02/2012
Age : 39
Đến từ : Viet Nam
Bài làm câu 2 đề thi giữa kỳ
Đường dẫn: HeDieuHanh\Tu hoc\Lap trinh Da luong voi .NET\SanXuatTieuThu C# .NET 2005:
- Chức năng : quá trình sản xuất tạo ra sản phẩm để tiêu thụ sử dụng, lấy sản phẩm theo đúng thứ tự, không lấy sản phẩm khi buffer trống, không truyền sản phẩm khi buffer đầy
- Giao diện: gồm có 4 nút Start, Suspend, Resume, Producer 1 và form bufferstate
+ khi nhấn nút Start thì sẽ hiện lên form frmBufferState
* Form frmBufferState: cho ta biết trạng thái sản xuất (<-in) và tiêu thụ (out->) của các tiến trình. (cột bên trái thể hiện sản phẩm đã được sản xuất tương ứng với nhà sản xuất ở bên cột phải) - Có 4 nhà tiêu thụ (numConsumers) và 6 nhà sản xuất (numProducers), số khoang chứa sản phẩm được sản xuất tối đa là 10 (BUFFER_SIZE)
+ Chức năng nút Suspend hệ thống tạm dừng hoạt động.
+ Chức năng nút Resume hệ thống hoạt động lại bình thường.
Hỏng biết có đc 1 điểm của thầy k0 nữa...
- Chức năng : quá trình sản xuất tạo ra sản phẩm để tiêu thụ sử dụng, lấy sản phẩm theo đúng thứ tự, không lấy sản phẩm khi buffer trống, không truyền sản phẩm khi buffer đầy
- Giao diện: gồm có 4 nút Start, Suspend, Resume, Producer 1 và form bufferstate
+ khi nhấn nút Start thì sẽ hiện lên form frmBufferState
* Form frmBufferState: cho ta biết trạng thái sản xuất (<-in) và tiêu thụ (out->) của các tiến trình. (cột bên trái thể hiện sản phẩm đã được sản xuất tương ứng với nhà sản xuất ở bên cột phải) - Có 4 nhà tiêu thụ (numConsumers) và 6 nhà sản xuất (numProducers), số khoang chứa sản phẩm được sản xuất tối đa là 10 (BUFFER_SIZE)
+ Chức năng nút Suspend hệ thống tạm dừng hoạt động.
+ Chức năng nút Resume hệ thống hoạt động lại bình thường.
Hỏng biết có đc 1 điểm của thầy k0 nữa...
NguyenChiKien(HLT3)- Tổng số bài gửi : 44
Join date : 23/03/2014
Age : 41
Đề Thi Giữa kỳ đây, có bạn nào làm hết không?
NguyenVanNgoc (HLT3) đã viết:Đề thi khóa trước, các bạn tham khảo
NguyenVanNgoc (HLT3)- Tổng số bài gửi : 14
Join date : 09/03/2014
Re: Ôn tập để Kiểm tra giữa kỳ và Thi lý thuyết
Làm thì hết... nhưng còn thầy chấm nữa...NguyenVanNgoc (HLT3) đã viết:NguyenVanNgoc (HLT3) đã viết:Đề thi khóa trước, các bạn tham khảo
NguyenChiKien(HLT3)- Tổng số bài gửi : 44
Join date : 23/03/2014
Age : 41
Thắc mắc
Trong đề thi có câu giải thích và làm rõ các cặp khái niệm vậy mình có cần nêu điểm giông nhau và khác nhau không.mong các bạn giải đáp thắc mắc của mình
PhamAnhDung_HLT3- Tổng số bài gửi : 23
Join date : 25/03/2014
Re: Ôn tập để Kiểm tra giữa kỳ và Thi lý thuyết
Không những giống khác nhau mà còn phải nêu ví dụ thực tế nữa nha bạnPhamAnhDung_HLT3 đã viết:Trong đề thi có câu giải thích và làm rõ các cặp khái niệm vậy mình có cần nêu điểm giông nhau và khác nhau không.mong các bạn giải đáp thắc mắc của mình
PhanVietTrung(HLT3)- Tổng số bài gửi : 25
Join date : 09/03/2014
Chương 8 - Câu 2: Trình bày bốn điều kiện cần để dẫn đến Deadlock
1/Điều kiện loại trừ lẫn nhau: Một tài nguyên không thể sử dụng bởi nhiều hơn một tiến trình tại một thời điểm
2/Điều kiện giữ và chờ: Các tiến trình giữ tài nguyên và chờ tài nguyên mới
3/Điều kiện không thể chiếm: Các tài nguyên không thể bị đòi lại, chúng chỉ có thể được giải phóng bởi chính tiến trình chiếm giử chúng
4/Điều kiện chu trình chờ: Các tiến trình giử tài nguyên và chờ các tài nguyên bị giử bởi tiến trình khác, tạo thành một chu trình. Ví dụ: Tiến trình 1, chiếm A1, chờ A2. Tiến trình 2 chiếm A2, chờ A3,... Tiến trình N chiếm An, chờ A1.
2/Điều kiện giữ và chờ: Các tiến trình giữ tài nguyên và chờ tài nguyên mới
3/Điều kiện không thể chiếm: Các tài nguyên không thể bị đòi lại, chúng chỉ có thể được giải phóng bởi chính tiến trình chiếm giử chúng
4/Điều kiện chu trình chờ: Các tiến trình giử tài nguyên và chờ các tài nguyên bị giử bởi tiến trình khác, tạo thành một chu trình. Ví dụ: Tiến trình 1, chiếm A1, chờ A2. Tiến trình 2 chiếm A2, chờ A3,... Tiến trình N chiếm An, chờ A1.
NguyenHoangKhanhHuy (HLT3- Tổng số bài gửi : 4
Join date : 18/03/2014
Bài tập Round-Robin(Cùng ôn tập lại ha)
Ví dụ mình có bài tập sau:
Tiến trình Thời điểm đến CPU
P1 4 46
P2 30 28
P3 51 32
Thời lượng:10ms
a)Vẽ biểu đồ Gantt.
b)Tính thời gian trung bình.
Mình có 1 đoạn clip trên youtube về bài tập này rất hay:
Lưu ý: bạn phải trình bày bảng trợ giúp(như công nghệ thầy dùng trên lớp )chứ không nên chỉ dùng biểu đồ Gantt như bạn này.
Công thức tính:Thời gian của từng giai đoạn:(thời điểm đến-thời điểm bắt đầu)-khoàng cpu của tiến trình đó.
Công thức tính: thời gian trung bình: tbt=(t_p1+t_p2+t_pn)/n
Chúc các bạn hiểu bài.
Tiến trình Thời điểm đến CPU
P1 4 46
P2 30 28
P3 51 32
Thời lượng:10ms
a)Vẽ biểu đồ Gantt.
b)Tính thời gian trung bình.
Mình có 1 đoạn clip trên youtube về bài tập này rất hay:
Lưu ý: bạn phải trình bày bảng trợ giúp(như công nghệ thầy dùng trên lớp )chứ không nên chỉ dùng biểu đồ Gantt như bạn này.
Công thức tính:Thời gian của từng giai đoạn:(thời điểm đến-thời điểm bắt đầu)-khoàng cpu của tiến trình đó.
Công thức tính: thời gian trung bình: tbt=(t_p1+t_p2+t_pn)/n
Chúc các bạn hiểu bài.
chukimphuong89(HLT3)- Tổng số bài gửi : 19
Join date : 13/05/2014
Chương 4 - Câu 1: Mô hình chuyển trạng thái của tiến trình
Quá trình chuyển trạng thái của các tiến trình trong được mô tả bởi sơ đồ sau:
[img][/img]
1. (Admit) Tiến trình được khởi tạo, được đưa vào hệ thống, được cấp phát đầy đủ tài nguyên chỉ thiếu processor.
2. (Dispatch) Tiến trình được cấp processor để bắt đầu thực hiện/ xử lý.
3. (Release) Tiến trình hoàn thành xử lý và kết thúc.
4. (Time_out) Tiến trình bị bộ điều phối tiến trình thu hồi processor, do hết thời gian được quyền sử dụng processor, để cấp phát cho tiến trình khác.
5. (Event wait) Tiến trình đang chờ một sự kiện nào đó xảy ra hay đang chờ một thao vào/ra kết thúc hay tài nguyên mà tiến trình yêu cầu chưa được hệ điều hành đáp ứng.
6. (Event Occurs) Sự kiện mà tiến trình chờ đã xảy ra, thao tác vào/ra mà tiến trình đợi đã kết thúc, hay tài nguyên mà tiến trình yêu cầu đã được hệ điều hành đáp ứng
[img][/img]
1. (Admit) Tiến trình được khởi tạo, được đưa vào hệ thống, được cấp phát đầy đủ tài nguyên chỉ thiếu processor.
2. (Dispatch) Tiến trình được cấp processor để bắt đầu thực hiện/ xử lý.
3. (Release) Tiến trình hoàn thành xử lý và kết thúc.
4. (Time_out) Tiến trình bị bộ điều phối tiến trình thu hồi processor, do hết thời gian được quyền sử dụng processor, để cấp phát cho tiến trình khác.
5. (Event wait) Tiến trình đang chờ một sự kiện nào đó xảy ra hay đang chờ một thao vào/ra kết thúc hay tài nguyên mà tiến trình yêu cầu chưa được hệ điều hành đáp ứng.
6. (Event Occurs) Sự kiện mà tiến trình chờ đã xảy ra, thao tác vào/ra mà tiến trình đợi đã kết thúc, hay tài nguyên mà tiến trình yêu cầu đã được hệ điều hành đáp ứng
NguyenHoangKhanhHuy (HLT3- Tổng số bài gửi : 4
Join date : 18/03/2014
Mình thử đi thử lại mấy lần mà vẫn chưa ra luôn bạn.
NguyenChiKien(HLT3) đã viết:Sửa lại bài tập 5 (đã giải ở lớp) sao cho với câu b. tìm được 2 tiến trình đầu tiên của chuỗi an toàn nhưng không tìm được tiến trình thứ 3
Có ai tìm được chưa???? Làm hoài hỏng ra...
HoangMinhNhat (HLT3)- Tổng số bài gửi : 11
Join date : 17/03/2014
Cảm ơn bạn rất nhiều, rất hay cho các bạn nào không đi học thường xuyên.
NguyenThiThuThao(TH09A2) đã viết:CHƯƠNG I:
Câu 1: Mục tiêu, ý nghĩa,cấu trúc môn học
Câu 2: Phân tích Định nghĩa “Hệ điều hành là Máy tính mở rộng (Extended Machine) hay Máy tính ảo (Virtual Machine)”
Câu 3: Phân tích Định nghĩa “Hệ điều hành là bộ quản lý tài nguyên (Resource Manager)”.
Câu 4: Trình bày nguyên lý hệ điều hành đa chương và chia thời gian.
Câu 5: Trình bày nguyên lý hệ điều hành đa xử lý.
CHƯƠNG II:
Câu 1: Trình bày nguyên tắc xử lý ngắt của hệ điều hành
Câu 2: Trình bày tuyến thời gian của một tiến trình có nhiều yêu cầu tới thiết bị ngoại vi
Câu 3: Phân biệt hai phương thức I/O đồng bộ và không đồng bộ, cho ví dụ.
Câu 4: Phân tích vai trò tổ chức phân cấp các loại bộ nhớ trong máy tính.
Câu 5: Trình bày nguyên lý lưu gần.
Câu 6: Nguyên lý bảo vệ bộ nhớ chính bằng thanh ghi cơ sở và thanh ghi giới hạn
ChƯƠNG III:
Cấu 1: Trình bày vai trò và chức năng của bộ thông dịch lệnh (Compilation-Interpretation)
Câu 2: Trình bày và so sánh hai mô hình liên lạc giữa các tiến trình
Câu 3: Kỹ thuật máy ảo, với ưu nhược điểm của nó.
CHƯƠNG 4: QUẢN LÝ TIẾN TRÌNH
Câu 1: Trình bày mô hình chuyển trạng thái của tiến trình
Câu 2: Phân tích vai trò của khối kiểm soát tiến trình
Câu 3: Trình bày mô hình luân chuyển CPU giữa hai tiến trình
Câu 4: Phân biệt các loại trình điều phối
Câu 5: Phát biểu bài toán Tiêu thụ – sản xuất vời thuật giải phù hợp
Câu 6: Truyền thông điệp trong windows (Message-Passing in Windows)
CHƯƠNG 5: LUỒNG
Câu1: Phân biệt khái niệm luồng với tiến trình. Và trình bày những lợi ích của công nghệ đa luồng
Câu 2: Trình bày nguyên lý tập nguồn và cho ví dụ minh họa
Câu 3: Lập trình đa luồng trong windows
CHƯƠNG 6: ĐIỀU PHỐI CPU
Câu 1: 4 tình huống ra quyết định của trình điều phối. Phân biệt điều phối không tiếm quyền và điều phối có tiếm quyền
Câu 2 : Bài tập điều phối CPU theo vòng Robin
Câu 3: Phân biệt thuật giải MQS với thuật giải MFQS
CHƯƠNG 7: ĐỒNG BỘ HÓA TIẾN TRÌNH
Câu 1: Những lý do đồng bộ hóa công việc tiến trình. Cho ví dụ minh họa
Câu 2: Khái niệm đoạn tương tranh và loại trừ lẫn nhau. Cho ví dụ minh họa.
Câu 3: Khái niệm đèn hiệu (Semaphores).Và 2 ứng dụng của đèn hiệu.
Câu 4: Thực thi đèn hiệu trong windows
Câu 5: Thực thi bài toán sản xuất và tiêu thụ được đồng bộ bằng ba đèn hiệu
CHƯƠNG 8: Deadlocks
Câu 1: Định nghĩa Deadlock
Câu 2: Trình bày bốn điều kiện cần để dẫn đến deadlock
Câu 3: Khái niện đồ thị cấp phát tài nguyên. Biết cách vẽ và cách giải thich một đồ thị cho trước
Câu 4: Khái niệm trạng thái an toàn và giải pháp tránh deadlock
Câu 5: Thuật giải tránh deadlock RAG
HoangMinhNhat (HLT3)- Tổng số bài gửi : 11
Join date : 17/03/2014
Re: Ôn tập để Kiểm tra giữa kỳ và Thi lý thuyết
Câu 5: Phát biểu bài toán Tiêu thụ – sản xuất vời thuật giải phù hợp
Có bạn nào có thể phát biểu đầy đủ bài toán này không? mình thấy đa phần là dùng hình, có thể ta nên diễn giải ra thành lời văn chẳng hạn...
Có bạn nào có thể phát biểu đầy đủ bài toán này không? mình thấy đa phần là dùng hình, có thể ta nên diễn giải ra thành lời văn chẳng hạn...
VanPhuAnhTuan95(HLT3)- Tổng số bài gửi : 31
Join date : 16/03/2014
Re: Ôn tập để Kiểm tra giữa kỳ và Thi lý thuyết
cảm ơn bạn nhéPhanVietTrung(HLT3) đã viết:Không những giống khác nhau mà còn phải nêu ví dụ thực tế nữa nha bạnPhamAnhDung_HLT3 đã viết:Trong đề thi có câu giải thích và làm rõ các cặp khái niệm vậy mình có cần nêu điểm giông nhau và khác nhau không.mong các bạn giải đáp thắc mắc của mình
PhamAnhDung_HLT3- Tổng số bài gửi : 23
Join date : 25/03/2014
Chương 7 - Câu 2: Khái niệm đoạn tương tranh và loại trừ lẫn nhau. Cho ví dụ minh họa.
Đoạn tương tranh :Xét một hệ có n tiến trình P0,P1, ...,Pn, mỗi tiến trình có một đoạn mã lệnh, nếu như trong đoạn mã này các tiến trình thao tác trên các biến chung,đọc ghi file... (tổng quát: thao tác trên dữ liệu chung) thì đoạn mã lệnh đó là đoạn tương tranh.
- Tính Loại trừ lẫn nhau hay Loại trừ tương hỗ (Mutual Exclusion) về phương diện thời gian: Khi có 1 tiến trình đang ở trong ĐTT của nó thì không có tiến trình nào khác trong nhóm cũng tại đoạn như vậy, nghĩa là: Mỗi thời điểm chỉ có 1 tiến trình được phép truy cập và/hoặc thay đổi tài nguyên chung.
Ví dụ: về 1 bản đơn xin:
. Nội dung đơn phải được đảm bảo tính toàn vẹn (Integrity), nghĩa là phía trên là Nguyễn Thị B thì phía dưới cũng phải là Nguyễn Thị B
. Nếu vài tiến trình (hơn 1) cùng sửa đơn trên một lúc (không đảm bảo được tính Loại trừ lẫn nhau) thì nội dung của nó có thể không đúng. Ví dụ, giả sử tiến trình P1 (nhà sản xuất) sửa Nguyễn Thị B phía trên thành Nguyễn Thị Ba, trong khi P2 (nhà sản xuất khác) sửa Nguyễn Thị B thành Nguyễn Thị Bé, mà có tiến trình P3 (nhà tiêu thụ) nào đó "lấy" đơn về dùng (để in ra) thì kết quả sẽ không nhất quán.
- Tính Loại trừ lẫn nhau hay Loại trừ tương hỗ (Mutual Exclusion) về phương diện thời gian: Khi có 1 tiến trình đang ở trong ĐTT của nó thì không có tiến trình nào khác trong nhóm cũng tại đoạn như vậy, nghĩa là: Mỗi thời điểm chỉ có 1 tiến trình được phép truy cập và/hoặc thay đổi tài nguyên chung.
Ví dụ: về 1 bản đơn xin:
. Nội dung đơn phải được đảm bảo tính toàn vẹn (Integrity), nghĩa là phía trên là Nguyễn Thị B thì phía dưới cũng phải là Nguyễn Thị B
. Nếu vài tiến trình (hơn 1) cùng sửa đơn trên một lúc (không đảm bảo được tính Loại trừ lẫn nhau) thì nội dung của nó có thể không đúng. Ví dụ, giả sử tiến trình P1 (nhà sản xuất) sửa Nguyễn Thị B phía trên thành Nguyễn Thị Ba, trong khi P2 (nhà sản xuất khác) sửa Nguyễn Thị B thành Nguyễn Thị Bé, mà có tiến trình P3 (nhà tiêu thụ) nào đó "lấy" đơn về dùng (để in ra) thì kết quả sẽ không nhất quán.
NguyenHoangKhanhHuy (HLT3- Tổng số bài gửi : 4
Join date : 18/03/2014
Re: Ôn tập để Kiểm tra giữa kỳ và Thi lý thuyết
NguyenTrungTruc(HLT3) đã viết:
a. Vẽ biểu đồ Gantt
b. Thời gian chờ trung bình cùa các tiến trình
- P1 = (75 - 10) - 30 = 35
- P2 = (90 - 20) - 35 = 35
- P3 = (65 - 25) - 15 = 25
=> Thời gian chờ trung bình = (35 + 35 + 25) / 3 = 95 / 3 = 31.666666 (ms)
Giải thích dùm mình chỗ này với, sao ra được 20,15,10? Cảm ơn nhỉu ạ
P1(20)
P2(20)
P3(15)
P1(10)
P2(15)
HoangMinhNhat (HLT3)- Tổng số bài gửi : 11
Join date : 17/03/2014
Re: Ôn tập để Kiểm tra giữa kỳ và Thi lý thuyết
VanPhuAnhTuan95(HLT3) đã viết:Chào mọi người, mình có một vài thắc mắc như thế này trong bài tập Biểu đồ Gantt. Tại sao khi đến thời điểm thứ 33, chúng ta không cho chạy P3 mà lại cho chạy P2, mình chưa hiểu lắm vấn để này, mong mọi người giúp mình giải đáp. Cảm ơn mọi người.
mọi người kiểm tra thắc mắc này giúp mình với...
VanPhuAnhTuan95(HLT3)- Tổng số bài gửi : 31
Join date : 16/03/2014
Re: Ôn tập để Kiểm tra giữa kỳ và Thi lý thuyết
VanPhuAnhTuan95(HLT3) đã viết:Mình có tự đặt ra bài tập riêng để làm, mong mọi người xem xét coi đã đúng chưa và xin ý kiến. Cảm ơn mọi người.
bài này đúng chưa các bạn?
VanPhuAnhTuan95(HLT3)- Tổng số bài gửi : 31
Join date : 16/03/2014
Tổng hợp nội dung lý thuyết chính ôn lý thuyết cuối kì.
Mình xin tổng hợp những nội dung chính, quan trọng ôn thi lý thuyết cho cuối kì. Bao hàm từ bài 4 tới bài 8 như sau:
BÀI 4:
- Trình bày mô hình chuyển trạng thái của tiến trình.
- Phát biểu bài toán sản xuất tiêu thụ với giải thuật phù hợp.(Trình bày giải thuật)
BÀI 5:
- Phân biệt khái niệm luồng với tiến trình. Và trình bày những lợi ích của công nghệ đa luồng.
- Trình bày nguyên lý tập luồng và cho ví dụ minh hoạ.
BÀI 6:
- 4 tình huống ra quyết định của trình điều phối. Và phân biệt điều phối không tiếm quyền và điều phối có tiếm quyền.
- Phân biệt thuật giải MQS với thuật giải MFQS.
BÀI 7:
- Những lý do đồng bộ hoá công việc tiến trình. Cho ví dụ minh hoạ.
- Khái niệm đoạn tương tranh và loại trừ lẫn nhau. Cho ví dụ minh hoạ.
- Khái niệm đèn hiêu(Semaphores). Và 2 ứng dụng của đèn hiệu.
BÀI 8:
- Định nghĩa Deadlock.
- Trình bày bốn điều kiện cần để dẫn đến Deadlock.
- Khái niệm đồ thị cấp phát tài nguyên. Biết cách vẽ và cách giải thích một đồ thị cho trước.
Chúc các bạn đạt kết quả tốt!
BÀI 4:
- Trình bày mô hình chuyển trạng thái của tiến trình.
- Phát biểu bài toán sản xuất tiêu thụ với giải thuật phù hợp.(Trình bày giải thuật)
BÀI 5:
- Phân biệt khái niệm luồng với tiến trình. Và trình bày những lợi ích của công nghệ đa luồng.
- Trình bày nguyên lý tập luồng và cho ví dụ minh hoạ.
BÀI 6:
- 4 tình huống ra quyết định của trình điều phối. Và phân biệt điều phối không tiếm quyền và điều phối có tiếm quyền.
- Phân biệt thuật giải MQS với thuật giải MFQS.
BÀI 7:
- Những lý do đồng bộ hoá công việc tiến trình. Cho ví dụ minh hoạ.
- Khái niệm đoạn tương tranh và loại trừ lẫn nhau. Cho ví dụ minh hoạ.
- Khái niệm đèn hiêu(Semaphores). Và 2 ứng dụng của đèn hiệu.
BÀI 8:
- Định nghĩa Deadlock.
- Trình bày bốn điều kiện cần để dẫn đến Deadlock.
- Khái niệm đồ thị cấp phát tài nguyên. Biết cách vẽ và cách giải thích một đồ thị cho trước.
Chúc các bạn đạt kết quả tốt!
NguyenVietLong08(HLT3)- Tổng số bài gửi : 20
Join date : 30/03/2014
Phân biệt Process va Thread
Định nghĩa:
Quá trình (process) là trạng thái tức thời của một chương trình đang chạy trên máy tính. Nó bao gồm bộ nhớ cần thiết để chạy chương trình (không gian địa chỉ của quá trình) và khả năng kiểm soát hiện trạng của bộ xử lý trong quá trình thực thi chương trình (tiến trình điều khiển của quá trình). Luồng (thread) tương tự như quá trình nhưng chỉ bao gồm tiến trình điều khiển. Nhiều luồng sử dụng không gian địa chỉ của một quá trình.
Quá trình và luồng có chung một mục đích: buộc máy tính phải làm nhiều việc hơn tại một thời điểm. Để làm điều đó, bộ xử lý (hay các bộ xử lý) phải chuyển đổi một cách trơn tru giữa các tác vụ, điều này đòi hỏi chương trình ứng dụng phải được thiết kế để chia sẻ tài nguyên máy tính.
Đó là lý do tại sao lập trình viên cần chia những gì chương trình phải làm thành quá trình và luồng.
Mỗi chương trình chạy trên một máy tính cần ít nhất là một quá trình. Quá trình đó bao gồm không gian địa chỉ (phần bộ nhớ máy tính mà ở đó chương trình chạy) và tiến trình điều khiển (cách thức để biết được phần nào của chương trình đang được bộ xử lý thực thi tại bất kỳ thời điểm nào). Nói cách khác, quá trình là một vùng làm việc và cách thức quản lý những gì chương trình đang thực hiện. Khi một số chương trình chạy cùng một thời điểm, mỗi chương trình sẽ có không gian địa chỉ và tiến trình điều khiển của riêng nó (xem sơ đồ).
Để phục vụ nhiều người dùng, một quá trình có thể cần phải phân nhánh, hay tạo bản sao của chính nó để tạo ra một quá trình con. Cũng giống như quá trình mẹ, quá trình con cũng có không gian địa chỉ và tiến trình điều khiển riêng. Tuy nhiên, thường thì khi quá trình mẹ chấm dứt, mọi quá trình con mà nó khởi động cũng sẽ tự động chấm dứt.
Hệ điều hành đa nhiệm như Unix hay Windows thực hiện việc chuyển đổi qua lại giữa các quá trình, lần lượt phân thời gian sử dụng CPU cho từng quá trình. Nếu máy tính có nhiều CPU, mỗi quá trình có thể được gán riêng cho một trong các CPU.
Điều này thích hợp với các chương trình đơn giản. Các ứng dụng phức tạp hiện nay như xử lý văn bản hay bảng tính có thể xem như là nhiều chương trình khác nhau với yêu cầu chuyển đổi qua lại và giao tiếp giữa các quá trình liên tục. Đây là một vấn đề vì phải mất thời gian để chuyển đổi giữa các quá trình.
CPU hiện đại có bộ quản lý bộ nhớ (memory management unit – MMU) để ngăn bất kỳ quá trình nào vi phạm không gian bộ nhớ của quá trình khác. Chuyển từ một quá trình này sang quá trình khác – được gọi là chuyển ngữ cảnh – có nghĩa là lập trình lại MMU để chỉ đến không gian địa chỉ khác cùng với việc lưu và phục hồi thông tin của một quá trình. Hệ điều hành chịu trách nhiệm quản lý chi tiết của việc chuyển ngữ cảnh nhưng nó cũng tiêu tốn thời gian của CPU. Do mỗi quá trình đều được cách ly với những quá trình khác, giao tiếp giữa các quá trình đòi hỏi phải có những chức năng đặc biệt. Tương tự việc chuyển ngữ cảnh, truyền thông giữa các quá trình cũng chiếm thời gian của bộ xử lý.
Tất cả thời gian trên sẽ cộng dồn lên khi nhiều chương trình chạy cùng lúc hay khi có nhiều người dùng mà mỗi người đều yêu cầu chạy nhiều quá trình cũng lúc. Càng nhiều quá trình chạy thì càng tốn nhiều thời gian của CPU và hệ điều hành để thực hiện công việc chuyển ngữ cảnh.
Nếu số quá trình đủ nhiều, máy chủ có thể phải dành toàn bộ thời gian để thực hiện việc chuyển đổi giữa các quá trình mà không thể thực sự xử lý được công việc nào.
Phân Luồng
Để tránh tình trạng trên, lập trình viên có thể dùng luồng (thread). Luồng cũng giống một quá trình con, ngoại trừ đặc điểm là mọi luồng kết hợp với một quá trình nào đó chia sẻ cùng không gian địa chỉ.
Ví dụ, nếu có nhiều người dùng cùng chương trình, lập trình viên có thể viết ứng dụng sao cho ứng với mỗi người dùng sẽ có một luồng mới được tạo ra.
Mỗi luồng có tiến trình kiểm soát riêng nhưng nó lại chia sẻ cùng không gian địa chỉ và hầu hết dữ liệu với tất cả luồng khác chạy trong cùng quá trình. Đối với từng người dùng có thể nói rằng chương trình dường như chỉ chạy cho một mình họ.
Ưu điểm là gì?
Thời gian chuyển đổi giữa các luồng ít hơn hẳn so với giữa các quá trình vì không cần phải chuyển đổi không gian địa chỉ. Ngoài ra, vì chúng chia sẻ không gian địa chỉ nên các luồng trong một quá trình có thể giao tiếp với nhau dễ dàng hơn nhiều.
Trên máy tính có nhiều bộ xử lý, chương trình dạng một quá trình đơn chỉ chạy trên một CPU, còn chương trình dạng luồng có thể chia các luồng cho tất cả các bộ xử lý. Vì thế, nếu bạn chuyển chương trình dạng luồng sang máy chủ nhiều bộ xử lý thì nó sẽ chạy nhanh hơn.
Khuyết điểm?
Chương trình dạng luồng khó viết và kiểm lỗi hơn. Không phải mọi thư viện lập trình đều được thiết kế để dùng với luồng và không phải mọi ứng dụng cũ đều có thể làm việc tốt với ứng dụng dạng luồng. Một vài công cụ lập trình cũng làm cho việc thiết kế và thử nghiệm mã luồng khó khăn hơn.
Lỗi liên quan đến luồng cũng khó phát hiện hơn. Các luồng trong một quá trình có thể bị chồng chéo dữ liệu với nhau. Hệ điều hành có thể hạn chế số luồng thực thi chẳng hạn đọc và ghi dữ liệu cùng lúc. Việc định thời cho các luồng khác nhau để tránh xung đột là rất khó khăn.
Tuy nhiên, khi các ứng dụng dùng chung phức tạp và máy chủ nhiều bộ xử lý ngày càng phổ biến thì luồng sẽ ngày càng được dùng nhiều để thực hiện đa xử lý.
Mong các bạn góp ý cho bài viết hoàn thiện hơn!
Quá trình (process) là trạng thái tức thời của một chương trình đang chạy trên máy tính. Nó bao gồm bộ nhớ cần thiết để chạy chương trình (không gian địa chỉ của quá trình) và khả năng kiểm soát hiện trạng của bộ xử lý trong quá trình thực thi chương trình (tiến trình điều khiển của quá trình). Luồng (thread) tương tự như quá trình nhưng chỉ bao gồm tiến trình điều khiển. Nhiều luồng sử dụng không gian địa chỉ của một quá trình.
Quá trình và luồng có chung một mục đích: buộc máy tính phải làm nhiều việc hơn tại một thời điểm. Để làm điều đó, bộ xử lý (hay các bộ xử lý) phải chuyển đổi một cách trơn tru giữa các tác vụ, điều này đòi hỏi chương trình ứng dụng phải được thiết kế để chia sẻ tài nguyên máy tính.
Đó là lý do tại sao lập trình viên cần chia những gì chương trình phải làm thành quá trình và luồng.
Mỗi chương trình chạy trên một máy tính cần ít nhất là một quá trình. Quá trình đó bao gồm không gian địa chỉ (phần bộ nhớ máy tính mà ở đó chương trình chạy) và tiến trình điều khiển (cách thức để biết được phần nào của chương trình đang được bộ xử lý thực thi tại bất kỳ thời điểm nào). Nói cách khác, quá trình là một vùng làm việc và cách thức quản lý những gì chương trình đang thực hiện. Khi một số chương trình chạy cùng một thời điểm, mỗi chương trình sẽ có không gian địa chỉ và tiến trình điều khiển của riêng nó (xem sơ đồ).
Để phục vụ nhiều người dùng, một quá trình có thể cần phải phân nhánh, hay tạo bản sao của chính nó để tạo ra một quá trình con. Cũng giống như quá trình mẹ, quá trình con cũng có không gian địa chỉ và tiến trình điều khiển riêng. Tuy nhiên, thường thì khi quá trình mẹ chấm dứt, mọi quá trình con mà nó khởi động cũng sẽ tự động chấm dứt.
Hệ điều hành đa nhiệm như Unix hay Windows thực hiện việc chuyển đổi qua lại giữa các quá trình, lần lượt phân thời gian sử dụng CPU cho từng quá trình. Nếu máy tính có nhiều CPU, mỗi quá trình có thể được gán riêng cho một trong các CPU.
Điều này thích hợp với các chương trình đơn giản. Các ứng dụng phức tạp hiện nay như xử lý văn bản hay bảng tính có thể xem như là nhiều chương trình khác nhau với yêu cầu chuyển đổi qua lại và giao tiếp giữa các quá trình liên tục. Đây là một vấn đề vì phải mất thời gian để chuyển đổi giữa các quá trình.
CPU hiện đại có bộ quản lý bộ nhớ (memory management unit – MMU) để ngăn bất kỳ quá trình nào vi phạm không gian bộ nhớ của quá trình khác. Chuyển từ một quá trình này sang quá trình khác – được gọi là chuyển ngữ cảnh – có nghĩa là lập trình lại MMU để chỉ đến không gian địa chỉ khác cùng với việc lưu và phục hồi thông tin của một quá trình. Hệ điều hành chịu trách nhiệm quản lý chi tiết của việc chuyển ngữ cảnh nhưng nó cũng tiêu tốn thời gian của CPU. Do mỗi quá trình đều được cách ly với những quá trình khác, giao tiếp giữa các quá trình đòi hỏi phải có những chức năng đặc biệt. Tương tự việc chuyển ngữ cảnh, truyền thông giữa các quá trình cũng chiếm thời gian của bộ xử lý.
Tất cả thời gian trên sẽ cộng dồn lên khi nhiều chương trình chạy cùng lúc hay khi có nhiều người dùng mà mỗi người đều yêu cầu chạy nhiều quá trình cũng lúc. Càng nhiều quá trình chạy thì càng tốn nhiều thời gian của CPU và hệ điều hành để thực hiện công việc chuyển ngữ cảnh.
Nếu số quá trình đủ nhiều, máy chủ có thể phải dành toàn bộ thời gian để thực hiện việc chuyển đổi giữa các quá trình mà không thể thực sự xử lý được công việc nào.
Phân Luồng
Để tránh tình trạng trên, lập trình viên có thể dùng luồng (thread). Luồng cũng giống một quá trình con, ngoại trừ đặc điểm là mọi luồng kết hợp với một quá trình nào đó chia sẻ cùng không gian địa chỉ.
Ví dụ, nếu có nhiều người dùng cùng chương trình, lập trình viên có thể viết ứng dụng sao cho ứng với mỗi người dùng sẽ có một luồng mới được tạo ra.
Mỗi luồng có tiến trình kiểm soát riêng nhưng nó lại chia sẻ cùng không gian địa chỉ và hầu hết dữ liệu với tất cả luồng khác chạy trong cùng quá trình. Đối với từng người dùng có thể nói rằng chương trình dường như chỉ chạy cho một mình họ.
Ưu điểm là gì?
Thời gian chuyển đổi giữa các luồng ít hơn hẳn so với giữa các quá trình vì không cần phải chuyển đổi không gian địa chỉ. Ngoài ra, vì chúng chia sẻ không gian địa chỉ nên các luồng trong một quá trình có thể giao tiếp với nhau dễ dàng hơn nhiều.
Trên máy tính có nhiều bộ xử lý, chương trình dạng một quá trình đơn chỉ chạy trên một CPU, còn chương trình dạng luồng có thể chia các luồng cho tất cả các bộ xử lý. Vì thế, nếu bạn chuyển chương trình dạng luồng sang máy chủ nhiều bộ xử lý thì nó sẽ chạy nhanh hơn.
Khuyết điểm?
Chương trình dạng luồng khó viết và kiểm lỗi hơn. Không phải mọi thư viện lập trình đều được thiết kế để dùng với luồng và không phải mọi ứng dụng cũ đều có thể làm việc tốt với ứng dụng dạng luồng. Một vài công cụ lập trình cũng làm cho việc thiết kế và thử nghiệm mã luồng khó khăn hơn.
Lỗi liên quan đến luồng cũng khó phát hiện hơn. Các luồng trong một quá trình có thể bị chồng chéo dữ liệu với nhau. Hệ điều hành có thể hạn chế số luồng thực thi chẳng hạn đọc và ghi dữ liệu cùng lúc. Việc định thời cho các luồng khác nhau để tránh xung đột là rất khó khăn.
Tuy nhiên, khi các ứng dụng dùng chung phức tạp và máy chủ nhiều bộ xử lý ngày càng phổ biến thì luồng sẽ ngày càng được dùng nhiều để thực hiện đa xử lý.
Mong các bạn góp ý cho bài viết hoàn thiện hơn!
chukimphuong89(HLT3)- Tổng số bài gửi : 19
Join date : 13/05/2014
Tập luồng(Thread pools)
Tập luồng (Thread Pools):
- Tiến trình cha tạo lập sẵn một tập luồng khi khởi động.
- Các luồng trong tập luồng luôn sẵn sàng chờ công việc.
- Khi tiến trình cha (ví dụ Web Server) nhận thêm một yêu cầu, một luồng được đánh thức và đưa vào vận hành.
- Phục vụ xong, luồng được đưa trả về tập luồng.
- Nếu số yêu cầu lớn hơn số luồng trong tập, tiến trình cha chờ đến khi có luồng được giải phóng.
- Tiến trình cha tạo lập sẵn một tập luồng khi khởi động.
- Các luồng trong tập luồng luôn sẵn sàng chờ công việc.
- Khi tiến trình cha (ví dụ Web Server) nhận thêm một yêu cầu, một luồng được đánh thức và đưa vào vận hành.
- Phục vụ xong, luồng được đưa trả về tập luồng.
- Nếu số yêu cầu lớn hơn số luồng trong tập, tiến trình cha chờ đến khi có luồng được giải phóng.
chukimphuong89(HLT3)- Tổng số bài gửi : 19
Join date : 13/05/2014
Đoạn tương tranh và loại trừ lẫn nhau.
- Đoạn tương tranh :Xét một hệ có n tiến trình P0,P1, ...,Pn, mỗi tiến trình có một đoạn mã lệnh, nếu như trong đoạn mã này các tiến trình thao tác trên các biến chung,đọc ghi file... (tổng quát: thao tác trên dữ liệu chung) thì đoạn mã lệnh đó là đoạn tương tranh.
- Tính Loại trừ lẫn nhau hay Loại trừ tương hỗ (Mutual Exclusion) về phương diện thời gian: Khi có 1 tiến trình đang ở trong ĐTT của nó thì không có tiến trình nào khác trong nhóm cũng tại đoạn như vậy, nghĩa là: Mỗi thời điểm chỉ có 1 tiến trình được phép truy cập và/hoặc thay đổi tài nguyên chung.
- Các tiến trình tương tranh có cấu trúc mã bao gồm Entry Section (Đoạn Đăng nhập), Critical Section (Đoạn Tương tranh), Exit Section (Đoạn Đăng xuất) và các Remainder Section (Đoạn Còn lại).
Ví dụ:
ĐƠN XIN VIỆC
Kính gửi: Giám đốc công ty x
Tôi tên là: Lê Văn Ba
..........(nội dung đơn).............
TP Hồ Chí Minh, ngày 5 tháng 5 năm 2011
Người làm đơn
....(chữ ký)....
Nguyen Van A
. Nội dung đơn này phải được đảm bảo tính toàn vẹn (Integrity), ví dụ: Phía trên là Lê Văn Ba thì phía dưới cũng phải là Lê Văn Ba.
. Nếu vài tiến trình (hơn 1) cùng sửa đơn trên một lúc (không đảm bảo được tính Loại trừ lẫn nhau) thì nội dung của nó có thể không đúng. Ví dụ, giả sử tiến trình P1 (nhà sản xuất) sửa Lê Văn Ba phía trên thành Lê Văn Bàng, trong khi P2 (nhà sản xuất khác) sửa Lê Văn Ba phía dưới thành Lê Văn Bá, mà có tiến trình P3 (nhà tiêu thụ) nào đó "lấy" đơn về dùng (để in ra) thì kết quả sẽ không nhất quán như sau:
ĐƠN XIN VIỆC
Kính gửi: Giám đốc công ty x
Tôi tên là: Lê Văn Bàng
..........(nội dung đơn).............
TP Hồ Chí Minh, ngày 5 tháng 5 năm 2011
Người làm đơn
....(chữ ký)....
Nguyen Van A
Có gì sai sót xin góp ý nhen
- Tính Loại trừ lẫn nhau hay Loại trừ tương hỗ (Mutual Exclusion) về phương diện thời gian: Khi có 1 tiến trình đang ở trong ĐTT của nó thì không có tiến trình nào khác trong nhóm cũng tại đoạn như vậy, nghĩa là: Mỗi thời điểm chỉ có 1 tiến trình được phép truy cập và/hoặc thay đổi tài nguyên chung.
- Các tiến trình tương tranh có cấu trúc mã bao gồm Entry Section (Đoạn Đăng nhập), Critical Section (Đoạn Tương tranh), Exit Section (Đoạn Đăng xuất) và các Remainder Section (Đoạn Còn lại).
Ví dụ:
ĐƠN XIN VIỆC
Kính gửi: Giám đốc công ty x
Tôi tên là: Lê Văn Ba
..........(nội dung đơn).............
TP Hồ Chí Minh, ngày 5 tháng 5 năm 2011
Người làm đơn
....(chữ ký)....
Nguyen Van A
. Nội dung đơn này phải được đảm bảo tính toàn vẹn (Integrity), ví dụ: Phía trên là Lê Văn Ba thì phía dưới cũng phải là Lê Văn Ba.
. Nếu vài tiến trình (hơn 1) cùng sửa đơn trên một lúc (không đảm bảo được tính Loại trừ lẫn nhau) thì nội dung của nó có thể không đúng. Ví dụ, giả sử tiến trình P1 (nhà sản xuất) sửa Lê Văn Ba phía trên thành Lê Văn Bàng, trong khi P2 (nhà sản xuất khác) sửa Lê Văn Ba phía dưới thành Lê Văn Bá, mà có tiến trình P3 (nhà tiêu thụ) nào đó "lấy" đơn về dùng (để in ra) thì kết quả sẽ không nhất quán như sau:
ĐƠN XIN VIỆC
Kính gửi: Giám đốc công ty x
Tôi tên là: Lê Văn Bàng
..........(nội dung đơn).............
TP Hồ Chí Minh, ngày 5 tháng 5 năm 2011
Người làm đơn
....(chữ ký)....
Nguyen Van A
Có gì sai sót xin góp ý nhen
chukimphuong89(HLT3)- Tổng số bài gửi : 19
Join date : 13/05/2014
Ôn tập thuật giải nhà băng thi học kỳ
Hệ thống có 12 ổ băng từ
Tiến Trình Đã Cấp Tối Đa Cần(MAX)
P1 5 10
P2 2 4
P3 2 9
câu 1:dùng giải thuật nhà băng để chứng minh trạng thái này là an toàn.
câu 2:xác định có nên đáp ứng hay không khi P3 xin thêm 1 ổ nữa
Giải
Câu 1:
Tiến Trình Đang Giữ MAX Need Hệ Có
P1 5 10 (MAX- ĐangGiữ)=10-5=5 12-(5+2+2)=3
P2 2 4 (MAX- ĐangGiữ)=4-2=2
P3 2 9 (MAX- ĐangGiữ)=9-2=7
Work >= Needi Pi Allocationi
3 2 P2 2
5 5 P1 5
10 7 P3 2
chuỗi an toàn là:{P2,P1,P3}
vậy trạng thái này là an toàn(điều cần chứng minh)
Câu 2:
giả sử P3 xin thêm một ổ nữa
thỏa 2 điều kiện:
request3<= Need3 vì 1< 7
request3<= Available vì 1< 3
Trạng thái mới
Tiến Trình Đang Giữ MAX Need Hệ Có
P1 5 10 (MAX- ĐangGiữ)=10-5=5 12-(5+2+3)=2
P2 2 4 (MAX- ĐangGiữ)=4-2=2
P3 3 9 (MAX- ĐangGiữ)=9-3=6
Work >= Needi Pi Allocationi
2 >= 2 P2 2
4 ? ? ?
P1 và P3 ko thỏa điều kiện Work >= NEEDi, do đó không xác định được chuỗi an toàn nên trạng thái này không an toàn, vậy không thể cấp thêm 1 ổ nữa cho P3
Tiến Trình Đã Cấp Tối Đa Cần(MAX)
P1 5 10
P2 2 4
P3 2 9
câu 1:dùng giải thuật nhà băng để chứng minh trạng thái này là an toàn.
câu 2:xác định có nên đáp ứng hay không khi P3 xin thêm 1 ổ nữa
Giải
Câu 1:
Tiến Trình Đang Giữ MAX Need Hệ Có
P1 5 10 (MAX- ĐangGiữ)=10-5=5 12-(5+2+2)=3
P2 2 4 (MAX- ĐangGiữ)=4-2=2
P3 2 9 (MAX- ĐangGiữ)=9-2=7
Work >= Needi Pi Allocationi
3 2 P2 2
5 5 P1 5
10 7 P3 2
chuỗi an toàn là:{P2,P1,P3}
vậy trạng thái này là an toàn(điều cần chứng minh)
Câu 2:
giả sử P3 xin thêm một ổ nữa
thỏa 2 điều kiện:
request3<= Need3 vì 1< 7
request3<= Available vì 1< 3
Trạng thái mới
Tiến Trình Đang Giữ MAX Need Hệ Có
P1 5 10 (MAX- ĐangGiữ)=10-5=5 12-(5+2+3)=2
P2 2 4 (MAX- ĐangGiữ)=4-2=2
P3 3 9 (MAX- ĐangGiữ)=9-3=6
Work >= Needi Pi Allocationi
2 >= 2 P2 2
4 ? ? ?
P1 và P3 ko thỏa điều kiện Work >= NEEDi, do đó không xác định được chuỗi an toàn nên trạng thái này không an toàn, vậy không thể cấp thêm 1 ổ nữa cho P3
vothihongngoc72 (HLT3)- Tổng số bài gửi : 28
Join date : 16/03/2014
Chương 8 - Câu 1: Định nghĩa Deadlock
Deadlock : Là Một số tiến trình có thể tranh nhau bởi một số tài nguyên hạn chế.
Tài nguyên hệ thống được chia thành nhiều loại, mỗi loại có 1 hoặc nhiều phiên bản(Instances).
+ Các tiến trình chờ có thể sẽ không bao giờ thay đổi lại trạng thái được vì các tài nguyên mà nó yêu cầu bị giữ bởi các tiến trình chờ khác.
+ Mỗi tiến trình sử dụng tài nguyên theo các bước sau:
• yêu cầu tài nguyên(request): Nếu yêu cầu không được giải quyết ngay( ví dụ khi tài nguyên đang được tiến trình khác sử dụng) thì tiến trình yêu cầu phải đợi cho đến khi nhận được tài nguyên.
• Sử dụng tài nguyên(use)
• Trả lại(Release): Trả tài nguyên cho HĐH quản lý.
Ví dụ: Hiện tượng tắc nghẽn trên cầu:
+Hai(hay nhiều hơn) ô tô đối đầu nhau trên một cây cầu hẹp chỉ đủ độ rộng cho một chiếc.
+ Mỗi đoạn của cây cầu có thể xem như một tài nguyên
+ Nếu deadlock xuất hiện, nó có thể được giải quyết nếu một hay một số ô tô lùi lại nhường đường rồi tiển ra sau.
Tài nguyên hệ thống được chia thành nhiều loại, mỗi loại có 1 hoặc nhiều phiên bản(Instances).
+ Các tiến trình chờ có thể sẽ không bao giờ thay đổi lại trạng thái được vì các tài nguyên mà nó yêu cầu bị giữ bởi các tiến trình chờ khác.
+ Mỗi tiến trình sử dụng tài nguyên theo các bước sau:
• yêu cầu tài nguyên(request): Nếu yêu cầu không được giải quyết ngay( ví dụ khi tài nguyên đang được tiến trình khác sử dụng) thì tiến trình yêu cầu phải đợi cho đến khi nhận được tài nguyên.
• Sử dụng tài nguyên(use)
• Trả lại(Release): Trả tài nguyên cho HĐH quản lý.
Ví dụ: Hiện tượng tắc nghẽn trên cầu:
+Hai(hay nhiều hơn) ô tô đối đầu nhau trên một cây cầu hẹp chỉ đủ độ rộng cho một chiếc.
+ Mỗi đoạn của cây cầu có thể xem như một tài nguyên
+ Nếu deadlock xuất hiện, nó có thể được giải quyết nếu một hay một số ô tô lùi lại nhường đường rồi tiển ra sau.
NguyenHoangKhanhHuy (HLT3- Tổng số bài gửi : 4
Join date : 18/03/2014
Re: Ôn tập để Kiểm tra giữa kỳ và Thi lý thuyết
Một hệ thống có 6 ổ băng từ và 3 tiến trình với trạng thái cấp phát tài nguyên ở thời điểm Ti như sau:
Dùng Thuật giải Nhà băng để:
a. Chứng minh trạng thái này là an toàn
b. Xác định có nên đáp ứng hay không yêu cầu xin thêm 1 ổ nữa của P3
Bài giải:
a. Công thức: Available = Số máy quét (or ổ băng từ) – Allocation của 3 tiến trình
Need = Max – Allocation
Trạng thái ban đầu:
Bảng trợ giúp: Tại thời điểm Ti
Worki >= Need i Pi Allocationi
2 1 P1 1
3 2 P2 2 //work này = work dòng 1 + Allocation của dòng 1
5 1 P3 1 //work này = work dòng 2 + Allocation của dòng 2
Tìm được chuỗi an toàn: (P1, P2, P3). Do đó, trạng thái tại thời điểm Ti an toàn (Điều phải chứng minh)
b. Có nên đáp ứng………………..cho P3
Request3 <= Need3 vì 1 = 1 // Request = số ổ xin thêm. Đề bài xin thêm 1 ổ
Request3 <= Available3 vì 1 < 2
Suy ra, thỏa 2 điều kiện
Nếu đáp ứng yêu cầu này, ta có Trạng thái mới:
2 2 P2 2
4 0 P3 2
Tồn tại chuỗi an toàn : (P1,P2,P3). Vậy có thể thêm 1 ổ cho P3
Tiến trình (Process) | Đã được cấp (số ổ băng) (Allocation) | Tối đa cần (số ổ băng) (Max) |
P1 | 1 | 2 |
P2 | 2 | 4 |
P3 | 1 | 2 |
Dùng Thuật giải Nhà băng để:
a. Chứng minh trạng thái này là an toàn
b. Xác định có nên đáp ứng hay không yêu cầu xin thêm 1 ổ nữa của P3
Bài giải:
a. Công thức: Available = Số máy quét (or ổ băng từ) – Allocation của 3 tiến trình
Need = Max – Allocation
Trạng thái ban đầu:
Process (Tiến trình) | Allocation (Đã được cấp) | Max (Tối đa cần) | Need | Available |
P1 P2 P3 | 1 2 1 | 2 4 2 | 1 2 1 | 6 – (1+2+1) = 6 – 4 = 2 |
Bảng trợ giúp: Tại thời điểm Ti
Worki >= Need i Pi Allocationi
2 1 P1 1
3 2 P2 2 //work này = work dòng 1 + Allocation của dòng 1
5 1 P3 1 //work này = work dòng 2 + Allocation của dòng 2
Tìm được chuỗi an toàn: (P1, P2, P3). Do đó, trạng thái tại thời điểm Ti an toàn (Điều phải chứng minh)
b. Có nên đáp ứng………………..cho P3
Request3 <= Need3 vì 1 = 1 // Request = số ổ xin thêm. Đề bài xin thêm 1 ổ
Request3 <= Available3 vì 1 < 2
Suy ra, thỏa 2 điều kiện
Nếu đáp ứng yêu cầu này, ta có Trạng thái mới:
Tiến trình | Allocation | Max | Need | Available |
P1 P2 P3 | 1 2 2 | 2 4 2 | 1 2 0 | 6 – (1+2+2) = 6 – 5 = 1 |
Bảng trợ giúp: Tại thời điểm Ti
Worki >= Need i Pi Allocationi
1 1 P1 12 2 P2 2
4 0 P3 2
Tồn tại chuỗi an toàn : (P1,P2,P3). Vậy có thể thêm 1 ổ cho P3
lekhacduyanh03(HLT3)- Tổng số bài gửi : 12
Join date : 15/04/2013
Age : 34
Trang 3 trong tổng số 5 trang • 1, 2, 3, 4, 5
Similar topics
» Thi Kiểm tra Giữa kỳ Lần 3
» Câu hỏi kiểm tra giữa kỳ
» Kiểm tra giữa kỳ
» Kiểm tra Giữa kỳ Lần 1
» Bai kiểm tra giữa kỳ
» Câu hỏi kiểm tra giữa kỳ
» Kiểm tra giữa kỳ
» Kiểm tra Giữa kỳ Lần 1
» Bai kiểm tra giữa kỳ
Trang 3 trong tổng số 5 trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết