Ôn tập thi Cuối kỳ
+48
TranVanDucHieu(I22B)
NguyenTienDat (I22A)
HuynhHuuTai(I22A)
NguyenThiThom(I22A)
NguyenCaoDuong(I22B)
TranBinhCongLuanI12A
LeThiKimNgan67(I11C)
NguyenVanNgoc65(I22A)
dangthihoangly(I12A)
TrỉnhToQuyen(I12A)
NguyenThiMai(I22A)
LeThanhQuang (I22B)
nguyenthithutrang (I11C)
NguyenQuocHuy (I22B)
MaiGiaHưng069(I22A)
DuongKhanhThanh(I22B)
NgoMinhTien(I22A)
phungvanduong24(I12A)
dangvannhan(I22A)
VoMinhDien(I22B)
TranVuSang (I22B)
TruongTranThanhTu(I22B)
NguyenLoc(I22A)
NguyenVanTu(I22A)
PhamTuanChinh(I22B)
dangvandinhI22A
DangQuangBinh(I22B)
BuiThucTuan(I22B)
NguyenThiHongCuc
MaiXuanSon (I22B)
lekhanhhoa(I22B)
PhamPhuKhanh52(I22B)
PhamThiThao (I22B)
NguyenMinhTam(I22B)
QuangMinhTuan(I22B)
NguyenHoangMinh_I22B
nguyenvankhoa59(122B)
TranQuocLoc(I22A)
Huynh Xuan Dat(I22A)
VoMinhThang(I22B)
LêAnhNgữ(I22A)
LeSonCa(I22B)
NguyenXuanThi(I22A)
NguyenVanQuoc (I22B)
DoThiHaDuc(I22B)
le thi thanh thuy
NguyenManhHuy(I22B)
Admin
52 posters
Trang 3 trong tổng số 6 trang
Trang 3 trong tổng số 6 trang • 1, 2, 3, 4, 5, 6
Thuật giải nhà băng khó hay dễ?
Mình lên lớp, nói thiệt là cũng đầy đủ mà khi nghe thầy và các bạn giải tránh Deadlock bằng thuật giải nhà băng thì phải tới 3 lần mới hiểu.Cảm ơn thầy và các bạn.
PhamTuanChinh(I22B)- Tổng số bài gửi : 15
Join date : 26/03/2013
Age : 35
Đến từ : Tp. Hồ Chí Minh
4 điều kiện cần dẫn đến Deadlocks và biện pháp ngăn chặn Deadlocks
4 điều kiện cần dẫn đến Deadlocks
1. Loại trừ lẫn nhau (Mutual Exclusion): nghĩa là tại một thời điểm, các tiến trình không được phép hoạt đồng thời.
Ví dụ của Thầy: Tranh chấp tài nguyên khi sinh viên sử dụng bảng, nếu anh A được gọi lên bảng thì tại thời điểm anh A đang ghi thì anh B không được phép ghi.
2. Chờ và giữ (Hold and Wait): tiến trình đang thực hiện thao tác trên tài nguyên và chưa trả tài nguyên về trạng thái ban đầu nhưng đồng thời lại xin thêm một tài nguyên khác.
Minh họa: Tình huống này thật nguy hiểm, hệ thống có thể bị treo do không đủ đáp ứng các request của tiến trình yêu cầu. Cũng giống như các chương trình virus có thể làm hệ thống bị đóng băng và treo toàn cục.
3. Không có tiếm quyền (No Preeption): đang dùng quyền này và bị quyền khác tiếm mất quyền đi: tài nguyên đang giữ bởi tiến trình không thể bị tiếm quyền tiếp mà phải được tự nguyện trả lại hệ thống.
Ví dụ: Hai ô-tô đang di chuyển lên mặt cầu, có thể đưa ra giải quyết tình huống kẹt: cho phép người gác cầu (thanh tra giao thông) bắt một xe không được phép lưu thông và cho xe còn lại di chuyển tới tiếp lộ trình của mình.
4. Chờ xoay vòng (Circular Wait): các lượt chờ xoay vòng như P1 -> R(P2) đang giữ, và P2 ->R(P3),... cứ thế các vòng chờ diễn ra song song bên cạnh các tiến trình -> các tiến trình mắc kẹt lồng nhau.
Ví dụ: Xâu chìa khóa để mở két sắt: phải có chìa khóa P1 để mở được tủ P2, nhưng đồng thời chìa khóa P2 lại được cất chung trong tủ P3... và cuối cùng, chìa khóa để mở két sắt là một ẩn số, (đây là ví dụ minh họa để các bạn dễ hình dung thôi nhưng thực tế thì không có điều này, trừ trường hợp giấu chìa khóa rất kỹ vì độ an toàn và tin cậy rất ít).
Ngăn chặn deadlock : là đảm bảo ít nhất một trong bốn điều kiện không thể xuất hiện
1.Ngăn cản lẫn nhau – đảm bảo là hệ thống không có các file không thể chia sẻ.
Một tiến trình không bao giờ phải chờ tài nguyên có thể chia sẻ
Ví dụ: read-only files(vì file read only thì nhiều tiến trình truy xuất nó cũng không ảnh hưởng gì-nội dung file không thay đổi)
Một số tài nguyên là không thể chia sẻ
Ví dụ: chế độ toàn màn hình
2.Giữ và đợi cấp thêm tài nguyên – phải đảm bảo rằng mỗi khi một tiến trình yêu cầu một tài nguyên, nó không giữ bất kỳ tài nguyên nào khác.
Đòi hỏi tiến trình yêu cầu và được phân phối tất cả các tài nguyên của nó trước khi nó bắt đầu thực hiện, hoặc chỉ cho phép tiến trình yêu cầu các tài nguyên khi không có tài nguyên nào cả.
3.Không có ưu tiên: không đòi lại tài nguyên từ tiến trình đang giữ chúng_
Nếu một tiến trình đang giữ một số tài nguyên và yêu cầu tài nguyên khác mà không thể được phân phối ngay cho nó thì tất cả các tài nguyên nó đang giữ được giải phóng.
Các tài nguyên ưu tiên được thêm vào danh sách tài nguyên dành cho tiến trình đang chờ đợi.
Tiến trình sẽ được khởi động lại chỉ khi nó có thể lấy lại các tài nguyên cũ của nó cũng như các tài nguyên mới mà nó đang yêu cầu.
4.Chờ đợi vòng tròn – áp dụng một thứ tự tuyệt đối cho tất cả các loại tài nguyên: mỗi loại được gắn một số nguyên
Mỗi tiến trình yêu cầu các tài nguyên theo thứ tự tăng dần: chỉ có thể nhận được tài nguyên có trọng số cao hơn của bất kỳ tài nguyên nào nó đang giữ
Muốn có tài nguyên j, tiến trình phải giải phóng tất cả các tài nguyên có trọng số i > j (nếu có)
1. Loại trừ lẫn nhau (Mutual Exclusion): nghĩa là tại một thời điểm, các tiến trình không được phép hoạt đồng thời.
Ví dụ của Thầy: Tranh chấp tài nguyên khi sinh viên sử dụng bảng, nếu anh A được gọi lên bảng thì tại thời điểm anh A đang ghi thì anh B không được phép ghi.
2. Chờ và giữ (Hold and Wait): tiến trình đang thực hiện thao tác trên tài nguyên và chưa trả tài nguyên về trạng thái ban đầu nhưng đồng thời lại xin thêm một tài nguyên khác.
Minh họa: Tình huống này thật nguy hiểm, hệ thống có thể bị treo do không đủ đáp ứng các request của tiến trình yêu cầu. Cũng giống như các chương trình virus có thể làm hệ thống bị đóng băng và treo toàn cục.
3. Không có tiếm quyền (No Preeption): đang dùng quyền này và bị quyền khác tiếm mất quyền đi: tài nguyên đang giữ bởi tiến trình không thể bị tiếm quyền tiếp mà phải được tự nguyện trả lại hệ thống.
Ví dụ: Hai ô-tô đang di chuyển lên mặt cầu, có thể đưa ra giải quyết tình huống kẹt: cho phép người gác cầu (thanh tra giao thông) bắt một xe không được phép lưu thông và cho xe còn lại di chuyển tới tiếp lộ trình của mình.
4. Chờ xoay vòng (Circular Wait): các lượt chờ xoay vòng như P1 -> R(P2) đang giữ, và P2 ->R(P3),... cứ thế các vòng chờ diễn ra song song bên cạnh các tiến trình -> các tiến trình mắc kẹt lồng nhau.
Ví dụ: Xâu chìa khóa để mở két sắt: phải có chìa khóa P1 để mở được tủ P2, nhưng đồng thời chìa khóa P2 lại được cất chung trong tủ P3... và cuối cùng, chìa khóa để mở két sắt là một ẩn số, (đây là ví dụ minh họa để các bạn dễ hình dung thôi nhưng thực tế thì không có điều này, trừ trường hợp giấu chìa khóa rất kỹ vì độ an toàn và tin cậy rất ít).
Ngăn chặn deadlock : là đảm bảo ít nhất một trong bốn điều kiện không thể xuất hiện
1.Ngăn cản lẫn nhau – đảm bảo là hệ thống không có các file không thể chia sẻ.
Một tiến trình không bao giờ phải chờ tài nguyên có thể chia sẻ
Ví dụ: read-only files(vì file read only thì nhiều tiến trình truy xuất nó cũng không ảnh hưởng gì-nội dung file không thay đổi)
Một số tài nguyên là không thể chia sẻ
Ví dụ: chế độ toàn màn hình
2.Giữ và đợi cấp thêm tài nguyên – phải đảm bảo rằng mỗi khi một tiến trình yêu cầu một tài nguyên, nó không giữ bất kỳ tài nguyên nào khác.
Đòi hỏi tiến trình yêu cầu và được phân phối tất cả các tài nguyên của nó trước khi nó bắt đầu thực hiện, hoặc chỉ cho phép tiến trình yêu cầu các tài nguyên khi không có tài nguyên nào cả.
3.Không có ưu tiên: không đòi lại tài nguyên từ tiến trình đang giữ chúng_
Nếu một tiến trình đang giữ một số tài nguyên và yêu cầu tài nguyên khác mà không thể được phân phối ngay cho nó thì tất cả các tài nguyên nó đang giữ được giải phóng.
Các tài nguyên ưu tiên được thêm vào danh sách tài nguyên dành cho tiến trình đang chờ đợi.
Tiến trình sẽ được khởi động lại chỉ khi nó có thể lấy lại các tài nguyên cũ của nó cũng như các tài nguyên mới mà nó đang yêu cầu.
4.Chờ đợi vòng tròn – áp dụng một thứ tự tuyệt đối cho tất cả các loại tài nguyên: mỗi loại được gắn một số nguyên
Mỗi tiến trình yêu cầu các tài nguyên theo thứ tự tăng dần: chỉ có thể nhận được tài nguyên có trọng số cao hơn của bất kỳ tài nguyên nào nó đang giữ
Muốn có tài nguyên j, tiến trình phải giải phóng tất cả các tài nguyên có trọng số i > j (nếu có)
NguyenVanTu(I22A)- Tổng số bài gửi : 23
Join date : 12/03/2013
Re: Ôn tập thi Cuối kỳ
PhamTuanChinh(I22B) đã viết:Mình lên lớp, nói thiệt là cũng đầy đủ mà khi nghe thầy và các bạn giải tránh Deadlock bằng thuật giải nhà băng thì phải tới 3 lần mới hiểu.Cảm ơn thầy và các bạn.
Học, học nữa, học mãi .....
VoMinhThang(I22B)- Tổng số bài gửi : 41
Join date : 11/03/2013
Re: Ôn tập thi Cuối kỳ
Thank bạn, bài viết hay.lekhanhhoa(I22B) đã viết:Câu hỏi:
BÀI 5 : ĐA LUỒNG
Câu 1: Trình bày khái niệm Luồng và so sánh với khái niệm tiến trình truyền thống? Phân tích 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 luồng và ứng dụng? Cho ví dụ trên máy tính và từ đời thường?
BÀI 6 : ĐIỀU PHỐI CPU
Câu 1: Trình bày 4 tình huống (thời điểm) ra quyết định của trình điều phối? Phân biệt điều phối có tiếm quyền với điều phối không tiếm quyền?
Câu 2: Trình bày thuật giải điều phối CPU với hàng chờ nhiều mức MQS và so sánh với thuật giải MFQS?
BÀI 7 : ĐỒNG BỘ HÓA TIẾN TRÌNH
Câu 1: Trình bày mục đích của đồng bộ hóa công việc các tiến trình? Nêu ví dụ minh họa?
Câu 2: Trình bày khái niệm đoạn tương tranh và cách giải quyết vấn đề này?
Câu 3: Trình bày khái niệm đèn hiệu và 2 ứng dụng của đèn hiệu? Cho ví dụ?
BÀI 8 : DEADLOCKS
Câu 1: Trình bày khái niệm Deadlocks và các ví dụ minh họa từ đời thường?
Một hệ thống có 3 tiến trình với thời điểm đến và thời gian sử dụng CPU như sau:
Câu 2: Trình bày 4 điều kiện cần dẫn đến Deadlocks và biện pháp ngăn chặn Deadlocks?
Câu 3: Biết vẽ và giải thích cũng như đánh giá trạng thái của đồ thị cấp phát tài nguyên?
BÀI TẬP TRONG ĐỀ THI
Cấu trúc câu 4,5:
CÂU 4: Chỉ có thuật giải Round Robin.
Dùng thuật giải RRS với thời lượng bằng 20 ms để điều phối CPU:
a. Thể hiện bằng biểu đồ Gantt
b. Tính thời gian chờ trung bình của các tiến trình
Bài giải:
Bảng trợ giúp
a) Thể hiện bằng biểu đồ Gantt:
b) Thời gian chờ trung bình của các tiến trình
- Thời gian chờ của các tiến trình:
P1 = (70 - 4) - 46 = 66 - 46 = 20 ms
P2 = (98 - 30) - 28 = 68 - 28 = 40 ms
P3 = (111 - 51) - 33 = 60 - 33 = 27 ms
- Thời gian chờ trung bình = (20 + 40 + 27)/3 = 87/3 = 29 ms
CÂU 5: Thuật giải Nhà Băng.
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<= Need 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
Chúc các bạn làm bài tốt trong ki thi sắp tới và mình cũng dẽ cố gắng để đạt số điểm cao nhất.=))
NguyenLoc(I22A)- Tổng số bài gửi : 16
Join date : 10/03/2013
Age : 32
Trình bày 4 cách ngăn chặn Deadlock ?
Để ngăn chặn Deadlock ta phải làm sao cho ít nhất 1 trong 4 điều kiện dẫn đến Deadlock không xảy ra. Cụ thể:
- Với Mutual Exclusion: Đảm bảo tài nguyên(TN) nào cũng dùng chung được cùng một lúc bởi nhiều tiến trình (TT).
- Với Hold and Wait:
1 Khi TT yêu cầu TN, nó không được giữ 1 TN nào khác.
2 TT phải yêu cầu và được cấp tất cả các TN mà nó cần ngay đầu công việc.
- Với No Preemption:
3 Khi TT giữ TN mà xin thêm nhưng không được, các TN mà nó giữ phải bị tiếm quyền sử dụng và trả lại HĐH.
2 Khi TT xin thêm TN, nếu TN này đang được giữ bởi TT khác đang ở trạng thái chờ, TN của TT khác này bị tiếm quyền
sử dụng để cấp cho TT đang xin.
- Với Circular Wait: Cấp TN theo một thứ tự nào đấy.
Trả lời như vậy đầy đủ ko mấy bạn giúp với !
- Với Mutual Exclusion: Đảm bảo tài nguyên(TN) nào cũng dùng chung được cùng một lúc bởi nhiều tiến trình (TT).
- Với Hold and Wait:
1 Khi TT yêu cầu TN, nó không được giữ 1 TN nào khác.
2 TT phải yêu cầu và được cấp tất cả các TN mà nó cần ngay đầu công việc.
- Với No Preemption:
3 Khi TT giữ TN mà xin thêm nhưng không được, các TN mà nó giữ phải bị tiếm quyền sử dụng và trả lại HĐH.
2 Khi TT xin thêm TN, nếu TN này đang được giữ bởi TT khác đang ở trạng thái chờ, TN của TT khác này bị tiếm quyền
sử dụng để cấp cho TT đang xin.
- Với Circular Wait: Cấp TN theo một thứ tự nào đấy.
Trả lời như vậy đầy đủ ko mấy bạn giúp với !
NguyenThiHongCuc- Tổng số bài gửi : 2
Join date : 29/03/2013
Re: Ôn tập thi Cuối kỳ
MaiXuanSon (I22B) đã viết:Semaphore SemEmpty,SemFull;
//khai báo 2 biến dùng chứa 2 đối tượng đèn hiệu thuộc lớp Semaphore.
SemEmpty = new Semaphore(2,10,"SemEmpty");
// khởi tạo đèn hiệu với giá trị ban đầu là 2,giá trị tối đa là 10,với tên SemEmpty đây là đèn hiệu liên tiến trình nên tính bảo mật không cao.
SemFull = new Semaphore(8,10,"SemFull");
// khởi tạo đèn hiệu với giá trị ban đầu là 8,giá trị tối đa là 10,với tên SemFull đây là đèn hiệu liên tiến trình nên tính bảo mật không cao.
SemFull.WaitOne();
//Chờ với giá trị là 8 sau đó giảm còn 7
SemEmpty.Release();
//Tăng giá trị từ 2 lên 3
Câu này em xung phong lên bảng nhưng giải thích chưa được tốt Thầy cho nữa điểm thưởng.
dòng đầu tiên phải giới thiệu SemEmpty là chứa mục quản đèn hiệu quản lý số khoang trống trong bộ đệm và SemFull là chứa mục quản đèn hiệu quản lý số sản phẩm trong bộ đệm.
SemFull.WaitOne(); là chờ đến khi giá trị đèn hiệu SemFull >= 1, khi đó giá trị này bị giảm đi 1 luôn là còn 7.
SemEmpty.Release(); tăng giá trị đèn SemEmpty lên 1 là thành 3
Mình bổ sung thêm vậy, mong thầy và các bạn góp ý thêm
Admin
Các biến SemEmpty và SemFull chứa Đèn hiệu chứ không phải là chứa Mục quản tương ứng (đoạn mã trên viết bằng VC# .NET) !
TruongTranThanhTu(I22B)- Tổng số bài gửi : 34
Join date : 11/03/2013
Định nghĩa tiến trình
Tiến trình: Tiến 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 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. Đặt dưới sự quản lý của hệ điều hành
hay
Tiến trình(Process) là chương trình trong thời gian thực hiện(đặt dưới sự quản lý của hệ điều hành).
Theo các bạn định nghĩa nào là đầy đủ và đúng hơn. theo mình nghĩ thì định nghĩa thứ 2 có vẻ giống trong slides quá và nếu chúng ta định nghĩa tiến trình như thế này có lẻ sẽ không có điểm đâu.
Các bạn góp ý giúp mình về định nghĩa tiến trình với nha.
hay
Tiến trình(Process) là chương trình trong thời gian thực hiện(đặt dưới sự quản lý của hệ điều hành).
Theo các bạn định nghĩa nào là đầy đủ và đúng hơn. theo mình nghĩ thì định nghĩa thứ 2 có vẻ giống trong slides quá và nếu chúng ta định nghĩa tiến trình như thế này có lẻ sẽ không có điểm đâu.
Các bạn góp ý giúp mình về định nghĩa tiến trình với nha.
TranVuSang (I22B)- Tổng số bài gửi : 53
Join date : 09/03/2013
Age : 35
Re: Ôn tập thi Cuối kỳ
TruongTranThanhTu(I22B) đã viết:MaiXuanSon (I22B) đã viết:Semaphore SemEmpty,SemFull;
//khai báo 2 biến dùng chứa 2 đối tượng đèn hiệu thuộc lớp Semaphore.
SemEmpty = new Semaphore(2,10,"SemEmpty");
// khởi tạo đèn hiệu với giá trị ban đầu là 2,giá trị tối đa là 10,với tên SemEmpty đây là đèn hiệu liên tiến trình nên tính bảo mật không cao.
SemFull = new Semaphore(8,10,"SemFull");
// khởi tạo đèn hiệu với giá trị ban đầu là 8,giá trị tối đa là 10,với tên SemFull đây là đèn hiệu liên tiến trình nên tính bảo mật không cao.
SemFull.WaitOne();
//Chờ với giá trị là 8 sau đó giảm còn 7
SemEmpty.Release();
//Tăng giá trị từ 2 lên 3
Câu này em xung phong lên bảng nhưng giải thích chưa được tốt Thầy cho nữa điểm thưởng.
dòng đầu tiên phải giới thiệu SemEmpty là chứa mục quản đèn hiệu quản lý số khoang trống trong bộ đệm và SemFull là chứa mục quản đèn hiệu quản lý số sản phẩm trong bộ đệm.
SemFull.WaitOne(); là chờ đến khi giá trị đèn hiệu SemFull >= 1, khi đó giá trị này bị giảm đi 1 luôn là còn 7.
SemEmpty.Release(); tăng giá trị đèn SemEmpty lên 1 là thành 3
Mình bổ sung thêm vậy, mong thầy và các bạn góp ý thêm
Admin
Các biến SemEmpty và SemFull chứa Đèn hiệu chứ không phải là chứa Mục quản tương ứng (đoạn mã trên viết bằng VC# .NET) !
Cảm ơn Thầy và các bạn.
Chúc bạn và lớp I22B thi đạt kết quả tốt và quan trọng nhất là tất cả lớp đều qua được môn của Thầy.
MaiXuanSon (I22B)- Tổng số bài gửi : 49
Join date : 11/03/2013
Age : 38
Re: Ôn tập thi Cuối kỳ
Ôn tập lý thuyết ôn từ bài 5-8
Bài tập vòng Robin và ôn kỹ thuật giải nhà băng.
Nhưng lần này nghe thầy nói sẽ chú trọng chất lượng nên mong các bạn ráng học bài tốt, thi tốt.
Bài tập vòng Robin và ôn kỹ thuật giải nhà băng.
Nhưng lần này nghe thầy nói sẽ chú trọng chất lượng nên mong các bạn ráng học bài tốt, thi tốt.
VoMinhDien(I22B)- Tổng số bài gửi : 34
Join date : 11/03/2013
Re: Ôn tập thi Cuối kỳ
tks bạn rất nhìu bài làm rất rỏ ràng.le thi thanh thuy đã viết:Hệ thống có 12 ổ băng từ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.
Tiến Trình Đã Cấp Tối Đa Cần(MAX) P1 5 10 P2 2 4 P3 2 9
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 chuỗi an toàn là:{P2,P1,P3}
Work >= Needi Pi Allocationi 3 2 P2 2 5 5 P1 5 10 7 P3 2
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
dangvannhan(I22A)- Tổng số bài gửi : 29
Join date : 11/03/2013
Re: Ôn tập thi Cuối kỳ
Mình mới tham khảo được 1 VD về deadlock điển hình là “bữa tối của triết gia” : một bàn ăn có 5 cái ghế, 5 vị triết gia cùng ngồi vào chiếc bàn. Khi bày đũa, người phục vụ chỉ để vào giữa mỗi người 1 chiếc đũa. Như vậy 2 bên mỗi vị triết gia đều có 2 chiếc đũa nhưng nếu người này cầm đũa thì người kia sẽ không có .
Nếu số đũa được chia đều ra cho năm người, như vậy mỗi người sẽ có một chiếc đũa. Cả năm người sẽ không thể thực hiện bữa ăn của mình với một chiếc đũa được, khi đó deadlock xảy ra.
le thi thanh thuy- Tổng số bài gửi : 11
Join date : 09/03/2013
Bài tập về thuật giải nhà băng (ôn tập ,tham khảo )
c. P1 yêu cầu thêm (0,4,2,0)
Yêu cầu này thỏa các điều kiện
1.Request1 <= Need1 vì (0,4,2,0)<=(0,7,5,0)
2.Request1 <= Available vì (0,4,2,0)<=(1,5,2,0)
ở câu c available mới là (1,1,0,0) vì (1,5,2,0)-(0,4,2,0)
phungvanduong24(I12A)- Tổng số bài gửi : 61
Join date : 20/02/2012
Re: Ôn tập thi Cuối kỳ
DoThiHaDuc(I22B) đã viết:Tình hình là thày miễn giảm lý thuyết bài 1 đến bài 4, chỉ còn học bài 5, bài 6, bài 7 và bài 8 thôi. Vậy lý thuyết tụi mình chỉ còn học 10 câu thôi Ôi yêu thày quá, cám ơn thày nhiều lắm lắm lắm... Tụi em sẽ cố gắng ko chỉ đậu mà đậu điểm thật cao môn HĐH!!! Biết ơn thày đã tâm lý và giúp đỡ tụi em!
Sau đây là tổng hợp các câu lý thuyết mà tụi mình cần phải vượt qua để dành trọn điểm CÂU 1 và CÂU 2 của thầy nha các bạn:BÀI 5 : ĐA LUỒNG
Câu 1: Trình bày khái niệm Luồng và so sánh với khái niệm tiến trình truyền thống? Phân tích 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 luồng và ứng dụng? Cho ví dụ trên máy tính và từ đời thường?BÀI 6 : ĐIỀU PHỐI CPU
Câu 1: Trình bày 4 tình huống (thời điểm) ra quyết định của trình điều phối? Phân biệt điều phối có tiếm quyền với điều phối không tiếm quyền?
Câu 2: Trình bày thuật giải điều phối CPU với hàng chờ nhiều mức MQS và so sánh với thuật giải MFQS?BÀI 7 : ĐỒNG BỘ HÓA TIẾN TRÌNH
Câu 1: Trình bày mục đích của đồng bộ hóa công việc các tiến trình? Nêu ví dụ minh họa?
Câu 2: Trình bày khái niệm đoạn tương tranh và cách giải quyết vấn đề này?
Câu 3: Trình bày khái niệm đèn hiệu và 2 ứng dụng của đèn hiệu? Cho ví dụ?BÀI 8 : DEADLOCKS
Câu 1: Trình bày khái niệm Deadlocks và các ví dụ minh họa từ đời thường?
Câu 2: Trình bày 4 điều kiện cần dẫn đến Deadlocks và biện pháp ngăn chặn Deadlocks?
Câu 3: Biết vẽ và giải thích cũng như đánh giá trạng thái của đồ thị cấp phát tài nguyên?BÀI TẬP TRONG ĐỀ THI
CÂU 4: Chỉ có thuật giải Round Robin.
CÂU 5: Thuật giải Nhà Băng.
CHÚ Ý: trong tất cả các câu trả lời, các bạn nhớ nêu VÍ DỤ MINH HỌA nha!!!
( Không biết mình có thiếu sót bỏ qua chỗ nào không...các bạn góp ý mình nhé! )
Chúc tất cả các bạn thi cuối kì thật tốt môn thày! Vì thày đã tận tình với chúng ta rất nhiều! Đừng phụ lòng thày nha các bạn!!! CỐ LÊN!!!
Căng thẳng quá..các bạn cố gắng lấy điểm tối đa 2 câu đầu nhe.Chúc các bạn thi tốt.
NgoMinhTien(I22A)- Tổng số bài gửi : 12
Join date : 21/03/2013
Re: Ôn tập thi Cuối kỳ
PhamThiThao (I22B) đã viết:1. Trình bày thuật giải điều phối CPU với hàng chờ nhiều mức MQS và so sánh với thuật giải MFQS?
2. Trình bày khái niệm đèn hiệu và 2 ứng dụng của đèn hiệu? Cho ví dụ?
Các bạn post câu trả cho mọi người tham khảo với..
NgoMinhTien(I22A)- Tổng số bài gửi : 12
Join date : 21/03/2013
cam on ban rat nhiu
dạo này do bận dj làm qua ..nho nhung thông tin này mình sẽ cố gắn ko phụ lòng thầy là các bạnDoThiHaDuc(I22B) đã viết:Tình hình là thày miễn giảm lý thuyết bài 1 đến bài 4, chỉ còn học bài 5, bài 6, bài 7 và bài 8 thôi. Vậy lý thuyết tụi mình chỉ còn học 10 câu thôi Ôi yêu thày quá, cám ơn thày nhiều lắm lắm lắm... Tụi em sẽ cố gắng ko chỉ đậu mà đậu điểm thật cao môn HĐH!!! Biết ơn thày đã tâm lý và giúp đỡ tụi em!
Sau đây là tổng hợp các câu lý thuyết mà tụi mình cần phải vượt qua để dành trọn điểm CÂU 1 và CÂU 2 của thầy nha các bạn:BÀI 5 : ĐA LUỒNG
Câu 1: Trình bày khái niệm Luồng và so sánh với khái niệm tiến trình truyền thống? Phân tích 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 luồng và ứng dụng? Cho ví dụ trên máy tính và từ đời thường?BÀI 6 : ĐIỀU PHỐI CPU
Câu 1: Trình bày 4 tình huống (thời điểm) ra quyết định của trình điều phối? Phân biệt điều phối có tiếm quyền với điều phối không tiếm quyền?
Câu 2: Trình bày thuật giải điều phối CPU với hàng chờ nhiều mức MQS và so sánh với thuật giải MFQS?BÀI 7 : ĐỒNG BỘ HÓA TIẾN TRÌNH
Câu 1: Trình bày mục đích của đồng bộ hóa công việc các tiến trình? Nêu ví dụ minh họa?
Câu 2: Trình bày khái niệm đoạn tương tranh và cách giải quyết vấn đề này?
Câu 3: Trình bày khái niệm đèn hiệu và 2 ứng dụng của đèn hiệu? Cho ví dụ?BÀI 8 : DEADLOCKS
Câu 1: Trình bày khái niệm Deadlocks và các ví dụ minh họa từ đời thường?
Câu 2: Trình bày 4 điều kiện cần dẫn đến Deadlocks và biện pháp ngăn chặn Deadlocks?
Câu 3: Biết vẽ và giải thích cũng như đánh giá trạng thái của đồ thị cấp phát tài nguyên?BÀI TẬP TRONG ĐỀ THI
CÂU 4: Chỉ có thuật giải Round Robin.
CÂU 5: Thuật giải Nhà Băng.
CHÚ Ý: trong tất cả các câu trả lời, các bạn nhớ nêu VÍ DỤ MINH HỌA nha!!!
( Không biết mình có thiếu sót bỏ qua chỗ nào không...các bạn góp ý mình nhé! )
Chúc tất cả các bạn thi cuối kì thật tốt môn thày! Vì thày đã tận tình với chúng ta rất nhiều! Đừng phụ lòng thày nha các bạn!!! CỐ LÊN!!!
DuongKhanhThanh(I22B)- Tổng số bài gửi : 24
Join date : 13/03/2013
Re: Ôn tập thi Cuối kỳ
Admin đã viết:Thảo luận các vấn đề để chuẩn bị tốt cho Đợt thi Cuối kỳ !
Thầy ơi, do dạo này em bận công việc nên cũng ít đi học điều môn thầy..post bài cũng ko nhiều lắm...thầy đừng bùn em nha..những ngày ôn tập cuối kì...thầy ôn lại 2 câu bài tập cho 2 lớp i22a - i22b nha thầy...e sẽ cố gắn thi tốt ko phụ lòng thầy.....
...E xin cảm ơn thầy...chúc thầy nhiều nhiều sức khỏe...
DuongKhanhThanh(I22B)- Tổng số bài gửi : 24
Join date : 13/03/2013
Re: Ôn tập thi Cuối kỳ
DoThiHaDuc(I22B) đã viết:Tình hình là thày miễn giảm lý thuyết bài 1 đến bài 4, chỉ còn học bài 5, bài 6, bài 7 và bài 8 thôi. Vậy lý thuyết tụi mình chỉ còn học 10 câu thôi Ôi yêu thày quá, cám ơn thày nhiều lắm lắm lắm... Tụi em sẽ cố gắng ko chỉ đậu mà đậu điểm thật cao môn HĐH!!! Biết ơn thày đã tâm lý và giúp đỡ tụi em!
Sau đây là tổng hợp các câu lý thuyết mà tụi mình cần phải vượt qua để dành trọn điểm CÂU 1 và CÂU 2 của thầy nha các bạn:BÀI 5 : ĐA LUỒNG
Câu 1: Trình bày khái niệm Luồng và so sánh với khái niệm tiến trình truyền thống? Phân tích 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 luồng và ứng dụng? Cho ví dụ trên máy tính và từ đời thường?BÀI 6 : ĐIỀU PHỐI CPU
Câu 1: Trình bày 4 tình huống (thời điểm) ra quyết định của trình điều phối? Phân biệt điều phối có tiếm quyền với điều phối không tiếm quyền?
Câu 2: Trình bày thuật giải điều phối CPU với hàng chờ nhiều mức MQS và so sánh với thuật giải MFQS?BÀI 7 : ĐỒNG BỘ HÓA TIẾN TRÌNH
Câu 1: Trình bày mục đích của đồng bộ hóa công việc các tiến trình? Nêu ví dụ minh họa?
Câu 2: Trình bày khái niệm đoạn tương tranh và cách giải quyết vấn đề này?
Câu 3: Trình bày khái niệm đèn hiệu và 2 ứng dụng của đèn hiệu? Cho ví dụ?BÀI 8 : DEADLOCKS
Câu 1: Trình bày khái niệm Deadlocks và các ví dụ minh họa từ đời thường?
Câu 2: Trình bày 4 điều kiện cần dẫn đến Deadlocks và biện pháp ngăn chặn Deadlocks?
Câu 3: Biết vẽ và giải thích cũng như đánh giá trạng thái của đồ thị cấp phát tài nguyên?BÀI TẬP TRONG ĐỀ THI
CÂU 4: Chỉ có thuật giải Round Robin.
CÂU 5: Thuật giải Nhà Băng.
CHÚ Ý: trong tất cả các câu trả lời, các bạn nhớ nêu VÍ DỤ MINH HỌA nha!!!
( Không biết mình có thiếu sót bỏ qua chỗ nào không...các bạn góp ý mình nhé! )
Chúc tất cả các bạn thi cuối kì thật tốt môn thày! Vì thày đã tận tình với chúng ta rất nhiều! Đừng phụ lòng thày nha các bạn!!! CỐ LÊN!!!
Thiệt ko zậy bạn...zậy là phải cố gắn học để ko phụ lòng thầy....vuj vuj wa...
DuongKhanhThanh(I22B)- Tổng số bài gửi : 24
Join date : 13/03/2013
Re: Ôn tập thi Cuối kỳ
dạ, các anh chị có thể hướng dẫn rõ giúp em về các bài thuật giải được không?! và em nên tìm hướng dẫn từ đâu. em do kẹt lịch học bên ngoài nên ko tham gia cùng lớp được.Xin lỗi thầy và các anh chị vì đã làm phiền,nhưng em mong thầy và các anh chị giúp em để vượt qua đợt kiểm tra lần này.DoThiHaDuc(I22B) đã viết:Tình hình là thày miễn giảm lý thuyết bài 1 đến bài 4, chỉ còn học bài 5, bài 6, bài 7 và bài 8 thôi. Vậy lý thuyết tụi mình chỉ còn học 10 câu thôi Ôi yêu thày quá, cám ơn thày nhiều lắm lắm lắm... Tụi em sẽ cố gắng ko chỉ đậu mà đậu điểm thật cao môn HĐH!!! Biết ơn thày đã tâm lý và giúp đỡ tụi em!
Sau đây là tổng hợp các câu lý thuyết mà tụi mình cần phải vượt qua để dành trọn điểm CÂU 1 và CÂU 2 của thầy nha các bạn:BÀI 5 : ĐA LUỒNG
Câu 1: Trình bày khái niệm Luồng và so sánh với khái niệm tiến trình truyền thống? Phân tích 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 luồng và ứng dụng? Cho ví dụ trên máy tính và từ đời thường?BÀI 6 : ĐIỀU PHỐI CPU
Câu 1: Trình bày 4 tình huống (thời điểm) ra quyết định của trình điều phối? Phân biệt điều phối có tiếm quyền với điều phối không tiếm quyền?
Câu 2: Trình bày thuật giải điều phối CPU với hàng chờ nhiều mức MQS và so sánh với thuật giải MFQS?BÀI 7 : ĐỒNG BỘ HÓA TIẾN TRÌNH
Câu 1: Trình bày mục đích của đồng bộ hóa công việc các tiến trình? Nêu ví dụ minh họa?
Câu 2: Trình bày khái niệm đoạn tương tranh và cách giải quyết vấn đề này?
Câu 3: Trình bày khái niệm đèn hiệu và 2 ứng dụng của đèn hiệu? Cho ví dụ?BÀI 8 : DEADLOCKS
Câu 1: Trình bày khái niệm Deadlocks và các ví dụ minh họa từ đời thường?
Câu 2: Trình bày 4 điều kiện cần dẫn đến Deadlocks và biện pháp ngăn chặn Deadlocks?
Câu 3: Biết vẽ và giải thích cũng như đánh giá trạng thái của đồ thị cấp phát tài nguyên?BÀI TẬP TRONG ĐỀ THI
CÂU 4: Chỉ có thuật giải Round Robin.
CÂU 5: Thuật giải Nhà Băng.
CHÚ Ý: trong tất cả các câu trả lời, các bạn nhớ nêu VÍ DỤ MINH HỌA nha!!!
( Không biết mình có thiếu sót bỏ qua chỗ nào không...các bạn góp ý mình nhé! )
Chúc tất cả các bạn thi cuối kì thật tốt môn thày! Vì thày đã tận tình với chúng ta rất nhiều! Đừng phụ lòng thày nha các bạn!!! CỐ LÊN!!!
MaiGiaHưng069(I22A)- Tổng số bài gửi : 2
Join date : 15/04/2013
Age : 32
Đến từ : TPHCM
Re: Ôn tập thi Cuối kỳ
suadaunanh69(I22A) xem lại bạn đặt tên trên diễn đàn đúng chưa! Không có đặt tên tự do đâu nha bạn
NguyenQuocHuy (I22B)- Tổng số bài gửi : 49
Join date : 10/03/2013
Re: Ôn tập thi Cuối kỳ
VoMinhDien(I22B) đã viết:Ôn tập lý thuyết ôn từ bài 5-8
Bài tập vòng Robin và ôn kỹ thuật giải nhà băng.
Nhưng lần này nghe thầy nói sẽ chú trọng chất lượng nên mong các bạn ráng học bài tốt, thi tốt.
lý thuyết bài 5 đến bài 8 các bạn cho khái niệm và ví dụ minh họa
còn bài tập thực hành vòng Round Robin và thuật giải nhà băng cac bạn giải thích chi tiết cách giải.
chúc cả lớp I22B đạt kết quả tốt
TruongTranThanhTu(I22B)- Tổng số bài gửi : 34
Join date : 11/03/2013
Re: Ôn tập thi Cuối kỳ
Câu hỏi : Cho biết công việc đoạn mã sau viết bằng Visual C++ 6.0:
Dòng 1
HANDLE ConsumerHandle[50]; Khai báo một mảng mục quản chứa 50 mục quản
DWORD ConsumerID[50]; Khai báo một mảng dùng chứa số hiệu (ID) của 50 luồng.
Dòng 2
for(int i=0;i<50;i++); Vòng lặp với i chạy từ 0 -> 49 dùng để tạo 50 luồng;
Dòng 3
ConsumerHandle[i]=CreateThread(0,0,(LPTHREAD_START_ROUTINE)Consumer,0,4,ConsumerID[i]);
Hàm CreateThread trả về Mục quản của luồng mới được tạo và Mục quản này gán cho phần tử mảng ConsumerHandle[i] bên trái dấu bằng ! ID (Identifier) của luồng mới gán cho ConsumerID[i]
Số 4 thể hiện luồng này khi tạo ra sẽ ở trạng thái ngủ, chờ được đánh thức.
Các luồng mới sẽ làm việc theo mã chung quy định bới hàm Consumer
Các bạn góp ý thêm nha ^^
- Code:
HANDLE ConsumerHandle[50]; DWORD ConsumerID[50];
for (int i=0; i<50; i++)
ConsumerHandle[i] = CreateThread (0,0,(LPTHREAD_START_ROUTINE)
Consumer, 0, 4, ConsumerID[i]);
Dòng 1
HANDLE ConsumerHandle[50]; Khai báo một mảng mục quản chứa 50 mục quản
DWORD ConsumerID[50]; Khai báo một mảng dùng chứa số hiệu (ID) của 50 luồng.
Dòng 2
for(int i=0;i<50;i++); Vòng lặp với i chạy từ 0 -> 49 dùng để tạo 50 luồng;
Dòng 3
ConsumerHandle[i]=CreateThread(0,0,(LPTHREAD_START_ROUTINE)Consumer,0,4,ConsumerID[i]);
Hàm CreateThread trả về Mục quản của luồng mới được tạo và Mục quản này gán cho phần tử mảng ConsumerHandle[i] bên trái dấu bằng ! ID (Identifier) của luồng mới gán cho ConsumerID[i]
Số 4 thể hiện luồng này khi tạo ra sẽ ở trạng thái ngủ, chờ được đánh thức.
Các luồng mới sẽ làm việc theo mã chung quy định bới hàm Consumer
Các bạn góp ý thêm nha ^^
nguyenthithutrang (I11C)- Tổng số bài gửi : 33
Join date : 26/08/2011
Age : 36
Đến từ : Lâm Đồng
Re: Ôn tập thi Cuối kỳ
NguyenVanQuoc (I22B) đã viết:DoThiHaDuc(I22B) đã viết:Tình hình là thày miễn giảm lý thuyết bài 1 đến bài 4, chỉ còn học bài 5, bài 6, bài 7 và bài 8 thôi. Vậy lý thuyết tụi mình chỉ còn học 10 câu thôi Ôi yêu thày quá, cám ơn thày nhiều lắm lắm lắm... Tụi em sẽ cố gắng ko chỉ đậu mà đậu điểm thật cao môn HĐH!!! Biết ơn thày đã tâm lý và giúp đỡ tụi em!
Úi Thầy miễn bài 1 đến bài 4 thiệt ah, mình đâu vắng buổi nào đâu sao không nghe thông tin này, hay Thầy thông trúng buổi mình đi muộn mấy phút đầu giờ.
Thông tin này thầy thông báo lúc gần đầu buổi có thể bạn đi muộn không nghe là đúng rồi, nhưng thầy miễn không ôn từ bài 1 đến bài 4 thì không đồng nghĩa chúng ta ôn sẽ dễ hơn mà thầy yêu cầu chất lượng phải tốt hơn đấy bạn.
LeThanhQuang (I22B)- Tổng số bài gửi : 15
Join date : 16/03/2013
Re: Ôn tập thi Cuối kỳ
cảm ơn anh, em không tham gia vào lớp học nhiều. nên em không biết về các bài thuật toán. mong anh hướng dẫn để em ôn thi cuối kì tốt hơnNguyenQuocHuy (I22B) đã viết:suadaunanh69(I22A) xem lại bạn đặt tên trên diễn đàn đúng chưa! Không có đặt tên tự do đâu nha bạn
MaiGiaHưng069(I22A)- Tổng số bài gửi : 2
Join date : 15/04/2013
Age : 32
Đến từ : TPHCM
Trình bày khái niệm luồng và so sánh với khái niệm tiến trình truyền thống, phân tích những lợi ích của công nghệ đa luồng. Trình bày những ví dụ minh họa từ đời thường.
_Tiến trình: Tiến trình (process) là trạng thái của một chương trình đang chạy trên máy tính.Nó là thực thể hoạt động, nó có chuyển trạng thái theo thời gian. Nó là đơn vị được hệ điều hành quản lý, cấp phát, điều phối sử dụng CPU và các tài nguyên trong máy tính.
_Luồng(Thread): hay còn gọi là tiểu trình, luồng cũng là tiến trình nhưng luồng là tiến trình đặc biệt là tiến trình nhẹ(Light Weight Process:nhẹ như tia sáng). Nó nhẹ là vì nó nằm trong lòng tiến trình truyền thống, nó là tiến trình nhưng là tiến trình con của tiến trình truyền thống, tiến trình truyền thống có thể bao gồm nhiều tiến trình nhỏ như vậy. Quá trình chuyển ngữ cảnh từ tiến trình truyền thống này sang tiến trình truyền thống kia sẽ lâu hơn so với chuyển ngữ cảnh từ tiến trình nhỏ này sang tiến trình nhỏ kia trong khuôn khổ 1 tiến trình. Và luồng cũng là 1 đơn vị được hệ điều hành quản lý và cấp phát CPU. Tiến trình truyền thống thường chứa nhiều luồng bên trong và thường là có 1 luồng chính và nhiều luồng phụ. Luồng cũng có thông tin trạng thái như của tiến trình truyền thống. Nhiều luồng có thể cùng chung một mã chương trình.
So sánh giữa luồng và tiến trình:
giống nhau:
- Bản chất đều là tiến trình, nên đều có thông tin trạng thái.
- Đều được hệ điều hành quản lý và cấp phát CPU.
- Chia sẻ tài nguyên cho nhau.
khác nhau:
- Lập trình đa luồng dễ hơn lập trình đa tiến trình.
- Tạo mới một luồng sẽ nhanh hơn tạo mới 1 tiến trình.
- Luồng chuyển đổi ngữ cảnh nhanh và ít chiếm tài nguyên hơn tiến trình.
- Đa luồng chia sẻ tài nguyên dùng chung dể dàng hơn đa tiến trình.
Những lợi ích của công nghệ đa luồng:
_Đa luồng là để cho hệ thống ứng dụng, cho tiến trình có khả năng đáp ứng tốt hơn(Responsiveness): trong khi 1 luồng bị ách hoặc quá bận thì luồng khác vẫn vận hành bình thường ( luồng chính của trình duyệt vẫn tương tác với người dùng trong khi dữ liệu vẫn được lấy về). Đơn luồng thì chỉ có 1 luồng mà thôi nếu như nó không trả lời thì coi như cả hệ thống không trả lời nên tính phản hồi của đơn luồng sẽ kém hơn đa luồng.
VD: Tổng đài 1080 là 1 hệ thống đa luồng, trong tổng đài này có nhiều nhân viên, mỗi nhân viên ngồi trước 1 máy tính, mỗi người đeo 1 tai nghe và khi có 1 người gọi đến thì 1 nhân sẽ được giao nhiệm vụ trả lời nếu như nhân viên này bận việc gì đó mà không trả lời được thì nhân viên khác sẽ trả lời. Còn nếu như tổng đài đó chỉ có 1 nhân viên ( hệ thống đơn luồng) thì nếu như nhân viên này không trả lời thì coi như toàn bộ hệ thống không trả lời.
_Đa luồng để chia sẽ tài nguyên tốt hơn(Resource Sharing): theo mặc định các luồng có thể dùng chung bộ nhớ và tài nguyên của luồng cha, vài luồng cùng vận hành trong 1 vùng địa chỉ, do đó dễ dùng chung tài nguyên hơn so với trường hợp đa tiến trình.
VD: 1 lớp học là 1 tiến trình. Các học sinh trong lớp là các luồng, thầy là 1 luồng chính, điều khiển các công việc của học sinh. Cả thầy và học sinh đều dùng chung máy chiếu, dùng chung bản, cùng sử dụng chung ánh sáng của đèn, quạt ….đó là các tài nguyên chung của lớp.
_Đa luồng sẽ tiết kiệm (Economy) hơn đa tiến trình vì việc cấp phát bộ nhớ từ tiến trình cho các luồng dễ hơn nhiều so với cấp phát bộ nhớ cho các tiến trình. Do luồng chung tài nguyên với cha và các luồng khác nên việc tạo lập và chuyển ngữ cảnh cũng nhanh hơn.
VD: Thêm 1 học sinh (luồng) mới vào lớp sẽ dễ dàng hơn xin phép tạo 1 lớp mới(tiến trình mới). Vì thêm 1 học sinh thì chỉ cần xếp thêm 1 chỗ ngồi là được, còn tạo thêm 1 lớp mới thì phải xin phép, rồi chờ ban giám hiệu kí duyệt,… sẽ mất thời gian hơn.
_Tận dụng được thế mạnh của kiến trúc đa xử lý(kiến trúc đa xử lý là kiến trúc nhiều CPU ) : đa luồng làm tăng tính song song trên hệ máy nhiều CPU. Mỗi luồng có thể chạy bởi CPU riêng.
_Lập trình đa luồng dễ hơn lập trình đa tiến trình( về việc tương tác, truyền thông dùng chung tài nguyên giữa các luồng với nhau hết sức dễ dàng.)
_Luồng(Thread): hay còn gọi là tiểu trình, luồng cũng là tiến trình nhưng luồng là tiến trình đặc biệt là tiến trình nhẹ(Light Weight Process:nhẹ như tia sáng). Nó nhẹ là vì nó nằm trong lòng tiến trình truyền thống, nó là tiến trình nhưng là tiến trình con của tiến trình truyền thống, tiến trình truyền thống có thể bao gồm nhiều tiến trình nhỏ như vậy. Quá trình chuyển ngữ cảnh từ tiến trình truyền thống này sang tiến trình truyền thống kia sẽ lâu hơn so với chuyển ngữ cảnh từ tiến trình nhỏ này sang tiến trình nhỏ kia trong khuôn khổ 1 tiến trình. Và luồng cũng là 1 đơn vị được hệ điều hành quản lý và cấp phát CPU. Tiến trình truyền thống thường chứa nhiều luồng bên trong và thường là có 1 luồng chính và nhiều luồng phụ. Luồng cũng có thông tin trạng thái như của tiến trình truyền thống. Nhiều luồng có thể cùng chung một mã chương trình.
So sánh giữa luồng và tiến trình:
giống nhau:
- Bản chất đều là tiến trình, nên đều có thông tin trạng thái.
- Đều được hệ điều hành quản lý và cấp phát CPU.
- Chia sẻ tài nguyên cho nhau.
khác nhau:
- Lập trình đa luồng dễ hơn lập trình đa tiến trình.
- Tạo mới một luồng sẽ nhanh hơn tạo mới 1 tiến trình.
- Luồng chuyển đổi ngữ cảnh nhanh và ít chiếm tài nguyên hơn tiến trình.
- Đa luồng chia sẻ tài nguyên dùng chung dể dàng hơn đa tiến trình.
Những lợi ích của công nghệ đa luồng:
_Đa luồng là để cho hệ thống ứng dụng, cho tiến trình có khả năng đáp ứng tốt hơn(Responsiveness): trong khi 1 luồng bị ách hoặc quá bận thì luồng khác vẫn vận hành bình thường ( luồng chính của trình duyệt vẫn tương tác với người dùng trong khi dữ liệu vẫn được lấy về). Đơn luồng thì chỉ có 1 luồng mà thôi nếu như nó không trả lời thì coi như cả hệ thống không trả lời nên tính phản hồi của đơn luồng sẽ kém hơn đa luồng.
VD: Tổng đài 1080 là 1 hệ thống đa luồng, trong tổng đài này có nhiều nhân viên, mỗi nhân viên ngồi trước 1 máy tính, mỗi người đeo 1 tai nghe và khi có 1 người gọi đến thì 1 nhân sẽ được giao nhiệm vụ trả lời nếu như nhân viên này bận việc gì đó mà không trả lời được thì nhân viên khác sẽ trả lời. Còn nếu như tổng đài đó chỉ có 1 nhân viên ( hệ thống đơn luồng) thì nếu như nhân viên này không trả lời thì coi như toàn bộ hệ thống không trả lời.
_Đa luồng để chia sẽ tài nguyên tốt hơn(Resource Sharing): theo mặc định các luồng có thể dùng chung bộ nhớ và tài nguyên của luồng cha, vài luồng cùng vận hành trong 1 vùng địa chỉ, do đó dễ dùng chung tài nguyên hơn so với trường hợp đa tiến trình.
VD: 1 lớp học là 1 tiến trình. Các học sinh trong lớp là các luồng, thầy là 1 luồng chính, điều khiển các công việc của học sinh. Cả thầy và học sinh đều dùng chung máy chiếu, dùng chung bản, cùng sử dụng chung ánh sáng của đèn, quạt ….đó là các tài nguyên chung của lớp.
_Đa luồng sẽ tiết kiệm (Economy) hơn đa tiến trình vì việc cấp phát bộ nhớ từ tiến trình cho các luồng dễ hơn nhiều so với cấp phát bộ nhớ cho các tiến trình. Do luồng chung tài nguyên với cha và các luồng khác nên việc tạo lập và chuyển ngữ cảnh cũng nhanh hơn.
VD: Thêm 1 học sinh (luồng) mới vào lớp sẽ dễ dàng hơn xin phép tạo 1 lớp mới(tiến trình mới). Vì thêm 1 học sinh thì chỉ cần xếp thêm 1 chỗ ngồi là được, còn tạo thêm 1 lớp mới thì phải xin phép, rồi chờ ban giám hiệu kí duyệt,… sẽ mất thời gian hơn.
_Tận dụng được thế mạnh của kiến trúc đa xử lý(kiến trúc đa xử lý là kiến trúc nhiều CPU ) : đa luồng làm tăng tính song song trên hệ máy nhiều CPU. Mỗi luồng có thể chạy bởi CPU riêng.
_Lập trình đa luồng dễ hơn lập trình đa tiến trình( về việc tương tác, truyền thông dùng chung tài nguyên giữa các luồng với nhau hết sức dễ dàng.)
TranVuSang (I22B)- Tổng số bài gửi : 53
Join date : 09/03/2013
Age : 35
Re: Ôn tập thi Cuối kỳ
Deadlock
Deadlock : mỗi tiến trình trong tập tiến trình đều chờ cấp phát một tài nguyên hiện đang bị một tiến trình khác cũng ở trong trạng thái block chiếm giữ. Vì vậy không có 1 tiến trình nào có thể tiếp tục hoặc giải phóng tài nguyên cho tiến trình khác sử dụng.
vd: trong 1 bàn ăn có 5 người nhưng có 1 đôi đũa gắp thức ăn, 2 trong số 5 người mỗi người giữ 1 chiếc đũa và không ai nhường ai. Như vậy không ai có thế gắp được thức ăn.
Deadlock : mỗi tiến trình trong tập tiến trình đều chờ cấp phát một tài nguyên hiện đang bị một tiến trình khác cũng ở trong trạng thái block chiếm giữ. Vì vậy không có 1 tiến trình nào có thể tiếp tục hoặc giải phóng tài nguyên cho tiến trình khác sử dụng.
vd: trong 1 bàn ăn có 5 người nhưng có 1 đôi đũa gắp thức ăn, 2 trong số 5 người mỗi người giữ 1 chiếc đũa và không ai nhường ai. Như vậy không ai có thế gắp được thức ăn.
NguyenThiMai(I22A)- Tổng số bài gửi : 32
Join date : 28/03/2013
Trang 3 trong tổng số 6 trang • 1, 2, 3, 4, 5, 6
Similar topics
» Đề thi Cuối kỳ: Câu 5
» Ôn thi cuối môn học!!
» Kiểm tra Giữa kỳ Lần 1
» Điểm thi Cuối kỳ
» Kết quả Thi Cuối kỳ
» Ôn thi cuối môn học!!
» Kiểm tra Giữa kỳ Lần 1
» Điểm thi Cuối kỳ
» Kết quả Thi Cuối kỳ
Trang 3 trong tổng số 6 trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết