Ôn tập để Kiểm tra giữa kỳ và Thi lý thuyết

Trang 2 trong tổng số 5 trang Previous  1, 2, 3, 4, 5  Next

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down

So sánh chức năng 2 đoạn mã sau trong ứng dụng Sản xuất - Tiêu thụ:

Bài gửi  vothihongngoc72 (HLT3) on 10/5/2014, 12:56

So sánh chức năng 2 đoạn mã sau trong ứng dụng Sản xuất - Tiêu thụ:

Sleep(1);
ShowBuffer(); EnterCriticalSection(&critSec);
ShowBuffer();
LeaveCriticalSection(&critSec);

Giống nhau: Đều là đồng bộ hóa tiến trình trong bài toán sản xuất tiêu thụ
Khác nhau là:
Sleep(1); // nhằm mục đích đồng bộ hóa các tiến trình, chờ một khoảng thời gian 1s để khi show buffer ra ngoài màn hình biến “in” đã tăng lên 1 => đảm bảo tính đúng đắn của dữ liệu. Nếu không có sleep(1), tại thời điểm đó biến in vẫn còn lưu giá trị củ. Tuy nhiên, nếu tiến trình trễ 1s thì biến in tăng lên thì giá trị vẫn bị lỗi
EnterCriticalSection(&critSec);
ShowBuffer();
LeaveCriticalSection(&critSec);
//Đoạn tương tranh
// Bảo vệ đoạn tương tranh bằng phương pháp loại trừ lẫn nhau: mỗi thời điểm chỉ có một tiến trình nằm trong đoạn tương tranh, đảm bảo tiến trình đang truy cập tài nguyên (showBuffer) thì tiến trình khác không được truy cập.

vothihongngoc72 (HLT3)

Tổng số bài gửi : 28
Join date : 16/03/2014

Xem lý lịch thành viên

Về Đầu Trang Go down

Giải thích giùm mình cái chương trình này với,mai thi rồi,cám ơn các bạn nha

Bài gửi  vothihongngoc72 (HLT3) on 10/5/2014, 13:35

Câu 3:
Cho biết công việc đoạn mã sau:
HANDLE semEmpty,semFull;
semEmpty=CreateSemaphore(0,40,50,”SE1”);
semFull=CreateSemaphore(0,10,50,”SF1”);
WaitForSingleObject(semEmpty,INFINITIVE);
ReleaseSemaphore(semFull,1,NULL);

vothihongngoc72 (HLT3)

Tổng số bài gửi : 28
Join date : 16/03/2014

Xem lý lịch thành viên

Về Đầu Trang Go down

Update thêm các câu hỏi thi giữa kì của thầy

Bài gửi  QuachHoangKhuongPhongHLT3 on 10/5/2014, 14:14

Giải thích và cho VD:
1- Job Queue & Ready Queue
2- CPU Bound Process & I/O Bound Process
3- Preemptive Scheduling & Non Preeemptive Scheduling
4- MQS & MFQS
5- User Mode & Mositor Mode
avatar
QuachHoangKhuongPhongHLT3

Tổng số bài gửi : 26
Join date : 25/03/2014

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: Ôn tập để Kiểm tra giữa kỳ và Thi lý thuyết

Bài gửi  VoMinhQuang (HLT3) on 10/5/2014, 14:57

vothihongngoc72 (HLT3) đã viết:Câu 3:
Cho biết công việc đoạn mã sau:
HANDLE semEmpty,semFull;
semEmpty=CreateSemaphore(0,40,50,”SE1”);
semFull=CreateSemaphore(0,10,50,”SF1”);
WaitForSingleObject(semEmpty,INFINITIVE);
ReleaseSemaphore(semFull,1,NULL);

HANDLE semEmpty,semFull;
Khai báo 2 biến kiểu mục quản semEmpty, semFull.
semEmpty dùng để quản lý số vùng trống trong bộ đệm.
semFull dùng để quản lý số sản phẩm trong bộ đệm.

semEmpty=CreateSemaphore(0,40,50,”SE1”);
Khởi tạo đèn hiệu với giá trị ban đầu 40, giá trị tối đa 50, tên đèn hiệu "SE1" (đèn hiệu liên tiến trình) và gán mục quản của đèn hiệu vừa tạo được vào biến semEmpty.

semFull=CreateSemaphore(0,10,50,”SF1”);
Tương tự semEmpty.

WaitForSingleObject(semEmpty,INFINITIVE);
Chờ đến khi có chỗ trống (giá trị đèn hiệu semEmpty >= 1) và đồng thời trừ đi 1.

ReleaseSemaphore(semFull,1,NULL);
Tăng giá trị semFull lên 1, kết thúc công việc.

VoMinhQuang (HLT3)

Tổng số bài gửi : 20
Join date : 09/03/2014

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: Ôn tập để Kiểm tra giữa kỳ và Thi lý thuyết

Bài gửi  vothihongngoc72 (HLT3) on 10/5/2014, 18:14

VoMinhQuang (HLT3) đã viết:
vothihongngoc72 (HLT3) đã viết:Câu 3:
Cho biết công việc đoạn mã sau:
HANDLE semEmpty,semFull;
semEmpty=CreateSemaphore(0,40,50,”SE1”);
semFull=CreateSemaphore(0,10,50,”SF1”);
WaitForSingleObject(semEmpty,INFINITIVE);
ReleaseSemaphore(semFull,1,NULL);

HANDLE semEmpty,semFull;
Khai báo 2 biến kiểu mục quản semEmpty, semFull.
semEmpty dùng để quản lý số vùng trống trong bộ đệm.
semFull dùng để quản lý số sản phẩm trong bộ đệm.

semEmpty=CreateSemaphore(0,40,50,”SE1”);
Khởi tạo đèn hiệu với giá trị ban đầu 40, giá trị tối đa 50, tên đèn hiệu "SE1" (đèn hiệu liên tiến trình) và gán mục quản của đèn hiệu vừa tạo được vào biến semEmpty.

semFull=CreateSemaphore(0,10,50,”SF1”);
Tương tự semEmpty.

WaitForSingleObject(semEmpty,INFINITIVE);
Chờ đến khi có chỗ trống (giá trị đèn hiệu semEmpty >= 1) và đồng thời trừ đi 1.

ReleaseSemaphore(semFull,1,NULL);
Tăng giá trị semFull lên 1, kết thúc công việc.
CẢM ƠN BẠN NHÉ

vothihongngoc72 (HLT3)

Tổng số bài gửi : 28
Join date : 16/03/2014

Xem lý lịch thành viên

Về Đầu Trang Go down

Process và Thread

Bài gửi  NguyenVanNhieu74 (HLT3) on 10/5/2014, 20:25

Tiến trình (Process) và Luồng (Thread):
Tiến trình là một bộ phận của chương trình đang thực hiện. Tiến trình là đơn vị làm việc cơ bản của hệ thống, trong hệ thống có thể tồn tại nhiều tiến trình cùng hoạt động, trong đó có cả tiến trình của hệ điều hành và tiến trình của chương trình người sử dụng. Các tiến trình này có thể hoạt động đồng thời với nhau.
Để một tiến trình đi vào trạng thái hoạt động thì hệ thống phải cung cấp đầy đủ tài nguyên cho tiến trình. Hệ thống cũng phải duy trì đủ tài nguyên cho tiến trình trong suốt quá trình hoạt động của tiến trình.
Ở đây cần phân biệt sự khác nhau giữa tiến trình và chương trình, chương trình là một tập tin thụ động nằm trên đĩa, tiến trình là trạng thái động của chương trình.
Các hệ điều hành hiện đại sử dụng mô hình đa tiểu trình, trong một tiến trình có thể có nhiều tiểu trình. Tiểu trình cũng là đơn vị xử lý cơ bản trong hệ thống, nó cũng xử lý tuần tự đoạn code của nó, nó cũng sở hữu một con trỏ lệnh, một tập các thanh ghi và một vùng nhớ stack riêng và các tiểu trình cũng chia sẻ thời gian xử lý của processor như các tiến trình.
Các tiểu trình trong một tiến trình chia sẻ một không gian địa chỉ chung, điều này có nghĩa các tiểu trình có thể chia sẻ các biến toàn cục của tiến trình, có thể truy xuất đến stack của tiểu trình khác trong cùng tiến trình. Như vậy với mô hình tiểu trình, trong hệ thống có thể tồn tại nhiều dòng xử lý cùng chia sẻ một không gian địa chỉ bộ nhớ, các dòng xử lý này hoạt động song song với nhau.

NguyenVanNhieu74 (HLT3)

Tổng số bài gửi : 20
Join date : 23/03/2014
Age : 26

Xem lý lịch thành viên

Về Đầu Trang Go down

Trình bày thuật giải điều phối MQS

Bài gửi  NguyenVanNhieu74 (HLT3) on 10/5/2014, 20:31

- Hàng chờ Ready được phân cấp thành nhiều mức có độ ưu tiên khác nhau, ví dụ: Mức các tiến trình tương tác (Interactive) chạy ở mặt trước ( Foreground ) có độ ưu tiên cao nhất và Mức các tiến trình lô ( Batch ) vận hành trong hậu trường (Background ) .
- Mỗi hàng chờ có thuật giải điều phối riêng, ví dụ: Foreground dùng RRS, Background dùng FCFS.
- Quan hệ giữa các mức:
Ưu tiên cố định: Xong hết các tiến trình mức trên rồi mới chuyển xuống mức dưới. Đang chạy tiến trình mức dưới mà xuất hiện tiến trình mới mức cao hơn, tiến trình mức dưới sẽ bị tiếm quyền cho tiến trình mới có độ ưu tiên cao hơn ( Hệ Solaris 2 dùng cách này ) .
Phân bổ theo tỉ lệ thời lượng: ví dụ: 80% thời lượng CPU dành cho Foreground, 20 % cho Background.

NguyenVanNhieu74 (HLT3)

Tổng số bài gửi : 20
Join date : 23/03/2014
Age : 26

Xem lý lịch thành viên

Về Đầu Trang Go down

Phân biệt thuật giải MQS với thuật giải MFQS

Bài gửi  NguyenVanNhieu74 (HLT3) on 10/5/2014, 20:32

Multilevel Queue Scheduling - MQS

-Hàng chờ Ready được phân cấp thành nhiều mức có độ ưu tiên khác nhau.
VD:Mức các tiến trình tương tác chạy ở mặt trước có độ ưu tiên cao nhất và mức các tiến trình lô(batch) vận hành trong hậu trường.
-Mỗi hàng chờ có thuật giải để điều phối riêng.
-Quan hệ giữa các mức:
+ưu tiên cố định:xong hết các tiến trình mức trên rồi chuyển xuống mức dưới.Đang chạy tiến trình mức dưới mà xuất hiện tiến trình mức cao hơn,tiến trình mức dưới sẽ bị tiếm quyền do tiến trình mới có độ ưu tiên cao hơn.
+Phân bổ theo tỉ lệ thời lượng.

* Multilevel Feedback Queue Scheduling - MFQS

-Như MSQ nhưng cho phép điều tiết tiến trình sang mức khác.
VD:Những tiến trình hướng CPU được đưa xuống mức dưới
-MFQS đạc trưng bởi các thông số:
+Số mức.
+Thuật giải điều phối cho mỗi mức.
+Phương thức nâng cấp tiến trình.
+Phương thức hạ cấp tiến trình.
+Phương thức chọn hàng chờ cho tiến trình mới.

Ví dụ: Trong ga Hòa Hưng có 5 ô cửa bán vé, những người mua vé xếp hàng vào 5 cửa. Có 5 loại khách hàng với 5 loại ưu tiên khác nhau. Chỉ có 1 cô nhân viên bán vé thôi.
+ cửa 1: cửa hệ thống: cho những người trong ngành hoặc thân nhân của những người trong ngành đường sắt.
+ cửa 2: cho thương binh, Mẹ VNAH.
+ cửa 3: cho những người bình thường, khách vảng lai.
+ cửa 4: khách có độ ưu tiên thấp hơn.
+ cửa 5: cho Sinh viên.
Với MQS: chỉ 1 cô bán vé chạy từ cửa này sang cửa kia, cửa nào có khách thì chạy sang cửa đó.
Với MFQS: có điều phối nếu có sự ưu tiên, đẩy bớt tiến trình từ cửa này sang cửa kia, giúp cho hoạt động được tốt hơn.
ĐỘ ƯU TIÊN HẠ TỪ TRÊN XUỐNG, KHÔNG CÓ SỰ ƯU TIÊN TỪ MỨC DƯỚI ĐI NGƯỢC LÊN MỨC TRÊN.

NguyenVanNhieu74 (HLT3)

Tổng số bài gửi : 20
Join date : 23/03/2014
Age : 26

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: Ôn tập để Kiểm tra giữa kỳ và Thi lý thuyết

Bài gửi  PhanVietTrung(HLT3) on 10/5/2014, 20:47

VoThiHuynhVan(TH09A2) đã viết:-Tiến trình cha tạo lập sẵn 1 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 nhận thêm 1 yêu cầu, 1 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 > số luồng trong tập, tiến trình cha chờ đến khi có luồng đc giải phóng.
-Ứng dụng: chế tạo CPU siêu đa luồng.
Nguồn: Slides bài giảng của thầy.

Theo mình thì tập luồng là tạo sẵn một tập luồng sẵn sàng để khởi chạy khi cần thiết, ứng dụng để tính toán song song, tăng tốc ứng dụng trên các CPU đa lõi Multi Core, siêu phân luồng HyperThread, hoặc tạo ta hiệu ứng cho người sử dụng có cảm giác máy tính chạy nhiều ứng dụng một lúc(mỗi luồng chỉ chạy vài ms).
Chế tạo CPU đa nhân hay đa luồng là kĩ thuật phần cứng dựa trên nguyên lý cơ bản tập luồng. Còn tập luồng là kĩ thuật lập trình chứ không phải ứng dụng để chế tạo CPU đa luồng, nên mình không đồng ý với suy luận ngược chiều của bạn.

PhanVietTrung(HLT3)

Tổng số bài gửi : 25
Join date : 09/03/2014

Xem lý lịch thành viên

Về Đầu Trang Go down

THANKS BẠN

Bài gửi  NguyenVanNgoc (HLT3) on 10/5/2014, 21:30

QuachHoangKhuongPhongHLT3 đã viết:Giải thích và cho VD:
1- Job Queue & Ready Queue
2- CPU Bound Process & I/O Bound Process
3- Preemptive Scheduling & Non Preeemptive Scheduling
4- MQS & MFQS
5- User Mode & Mositor Mode

NguyenVanNgoc (HLT3)

Tổng số bài gửi : 14
Join date : 09/03/2014

Xem lý lịch thành viên

Về Đầu Trang Go down

Bạn nào so sánh chức năng 2 đoạn mã này với !

Bài gửi  TranQuocHuy (HLT3) on 10/5/2014, 21:35

Đoạn 1:

Sleep(1);
ShowBuffer();

Đoạn 2:

EnterCriticalSection (&critSec);
ShowBuffer(r);
LeaveCriticalSection(&critSec);

TranQuocHuy (HLT3)

Tổng số bài gửi : 12
Join date : 19/03/2014
Age : 24

Xem lý lịch thành viên

Về Đầu Trang Go down

thanks bạn, có bạn giải thích rồi mà thoáng nhìn không thấy ! :))

Bài gửi  TranQuocHuy (HLT3) on 10/5/2014, 21:45

vothihongngoc72 (HLT3) đã viết:So sánh chức năng 2 đoạn mã sau trong ứng dụng Sản xuất - Tiêu thụ:

Sleep(1);
ShowBuffer(); EnterCriticalSection(&critSec);
ShowBuffer();
LeaveCriticalSection(&critSec);

Giống nhau: Đều là đồng bộ hóa tiến trình trong bài toán sản xuất tiêu thụ
Khác nhau là:
Sleep(1); // nhằm mục đích đồng bộ hóa các tiến trình, chờ một khoảng thời gian 1s để khi show buffer ra ngoài màn hình biến “in” đã tăng lên 1 => đảm bảo tính đúng đắn của dữ liệu. Nếu không có sleep(1), tại thời điểm đó biến in vẫn còn lưu giá trị củ. Tuy nhiên, nếu tiến trình trễ 1s thì biến in tăng lên thì giá trị vẫn bị lỗi
EnterCriticalSection(&critSec);
ShowBuffer();
LeaveCriticalSection(&critSec);
//Đoạn tương tranh
// Bảo vệ đoạn tương tranh bằng phương pháp loại trừ lẫn nhau: mỗi thời điểm chỉ có một tiến trình nằm trong đoạn tương tranh, đảm bảo tiến trình đang truy cập tài nguyên (showBuffer) thì tiến trình khác không được truy cập.

TranQuocHuy (HLT3)

Tổng số bài gửi : 12
Join date : 19/03/2014
Age : 24

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: Ôn tập để Kiểm tra giữa kỳ và Thi lý thuyết

Bài gửi  HaLongHuy18(11A3) on 10/5/2014, 22:24

Mình bổ xung tí:
-User mode và Monitor mode: dùng để bảo vệ hệ thống và các tiến trình đang vận hành trong hệ thống
- Mode bit được đưa vào hệ thống phần cứng của máy để chỉ chế độ làm việc hiện hành của HDH
- Khi xãy ra ngắt phần cứng, thì nó sẽ tự động chuyển từ User Mode sang Monitor Mode bằng cách đăt  Mode = 0.

HaLongHuy18(11A3)

Tổng số bài gửi : 13
Join date : 21/08/2012

Xem lý lịch thành viên

Về Đầu Trang Go down

Ôn tập giải thuật Round Robin Scheduling

Bài gửi  NguyenTrungTruc(HLT3) on 11/5/2014, 00:25



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)

NguyenTrungTruc(HLT3)

Tổng số bài gửi : 17
Join date : 09/03/2014

Xem lý lịch thành viên

Về Đầu Trang Go down

Giải Thuật Nhà BANK

Bài gửi  NguyenTrungTruc(HLT3) on 11/5/2014, 01:33




NguyenTrungTruc(HLT3)

Tổng số bài gửi : 17
Join date : 09/03/2014

Xem lý lịch thành viên

Về Đầu Trang Go down

Khái niệm Job Queue và Ready Queue? So sánh Job Queue và Ready Queue

Bài gửi  NguyenHuuSonLam(TH10A1) on 11/5/2014, 05:32

Job Queue: là hàng chờ công việc, chứa các tiến trình chờ được vận hành.
Ready Queue: là hàng chờ sẵn sàng, chứa các tiến trình chờ được cấp CPU.
Giống nhau:
- Đều là các hàng chờ chứa các tiến trình cần vận hành.
- Đều cần thuật giải điều phối để sắp xếp các tiến trình.
Khác nhau:
- Dùng giải thuật điều phối chậm(Long - term Scheduler) để đưa các tiến trình từ Job Queue vào Ready Queue.
- Dùng giải thuật điều phối nhanh(Short - term Scheduler) chọn các tiến trình trong Ready Queue để cấp CPU.
Ví dụ 1: thầy giáo gọi tên 20 bạn (sơ tuyển) trong lớp xếp vào danh sách chuẩn bị lên bảng làm bài tập (điều phối chậm) đưa vào Job Queue, sau đó trong 20 bạn này mới chọn ra 5 bạn để đưa vào Ready Queue (danh sách làm bài). tiếp theo, mỗi thời điểm chỉ lấy 1 bạn lên bảng trong số đó.(điều phối nhanh).
Ví dụ 2: Trò chơi "Ai là triệu phú" cũng sử dụng nguyên lý này.

NguyenHuuSonLam(TH10A1)

Tổng số bài gửi : 35
Join date : 14/03/2014

Xem lý lịch thành viên

Về Đầu Trang Go down

Phân tích các cặp khái niệm sau

Bài gửi  NguyenTrungTruc(HLT3) on 11/5/2014, 08:09

Job Queue (hàng đợi công việc) là danh sách chứ các tiến trình ở trạng thái New.
- Ví dụ: Một nhóm SV đứng xếp thành hàng trước phòng thi để chờ giám thị gọi tên.
Ready Queue (hàng đợi sẵn sàn) là danh sách chứa các tiến trình ở trạng thái Ready.
- Ví dụ: Các SV sau khi được gọi tên và hiện đang ngồi tại bàn tương ứng với STT để chuẩn bị làm bài thi.
CPU Bound Process (tiến trình hướng CPU) ở tiến trình này CPU phải tính toán nhiều, ít giao tiếp I/O, Khi một tiến trình nhận được CPU, nó có khuynh hướng sử dụng CPU đến khi hết thời gian dành cho nó ? Hoạt động của các tiến trình như thế thường bao gồm một số ít lượt sử dụng CPU , nhưng mỗi lượt trong một thời gian đủ dài.
- Khi giải quyết một vấn đề, ta tự thân vận động, suy nghĩ, phân tích vấn đề để đạt được kết quả cuối cùng, bắt buộc não bộ phải làm việc thật tập trung và rất nhiều mà không cần hoặc ít giao tiếp với người khác để nhờ trợ giúp.
I/O Bound Process (tiến trình hướng I/O) ở tiến trình này CPU tính toán ít, giao tiếp nhiều, Khi một tiến trình nhận được CPU, chủ yếu nó chỉ sử dụng CPU đến khi phát sinh một yêu cầu nhập xuất ? Hoạt động của các tiến trình như thế thường bao gồm nhiều lượt sử dụng CPU , mỗi lượt trong một thời gian khá ngắn.
- Suy nghĩ ít, chủ yếu nhờ người khác giải quyết vấn đề dùm mình.

Preemtive Scheduling (điều phối có tiếm quyền): Nguyên lý điều phối có tiếm quyền cho phép một tiến trình khi nhận được CPU sẽ có quyền độc chiếm CPU đến khi hoàn tất xử lý hoặc tự nguyện giải phóng CPU. Các giải thuật này thường đơn giản và dễ cài đặt. Tuy nhiên chúng thường không thích hợp với các hệ thống tổng quát nhiều người dùng, vì nếu cho phép một tiến trình có quyền xử lý bao lâu tùy ý, có nghĩa là tiến trình này có thể giữ CPU một thời gian không xác định, có thể ngăn cản những tiến trình còn lại trong hệ thống có một cơ hội để xử lý.
Non-preemtive Scheduling (điều phối không tiếm quyền): Ngược với nguyên lý tiếm quyền, điều phối theo nguyên lý không tiếm quyền cho phép tạm dừng hoạt động của một tiến trình đang sẵn sàng xử lý. Khi một tiến trình nhận được CPU, nó vẫn được sử dụng CPU đến khi hoàn tất hoặc tự nguyện giải phóng CPU, nhưng một tiến trình khác có độ ưu tiên có thể dành quyền sử dụng CPU của tiến trình ban đầu. Như vậy là tiến trình có thể bị tạm dừng hoạt động bất cứ lúc nào mà không được báo trước, để tiến trình khác xử lý , thường xảy ra khi tiến trình chỉ thi hành trong tình huống 1 và 4, tiến trình giữ CPU cho đến khi kết thúc bình thường hoặc khi chuyển sang trạng thái Waiting

NguyenTrungTruc(HLT3)

Tổng số bài gửi : 17
Join date : 09/03/2014

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: Ôn tập để Kiểm tra giữa kỳ và Thi lý thuyết

Bài gửi  VoThanhTrung41 (HLT3) on 11/5/2014, 08:40

VoMinhQuang (HLT3) đã viết:
vothihongngoc72 (HLT3) đã viết:Câu 3:
Cho biết công việc đoạn mã sau:
HANDLE semEmpty,semFull;
semEmpty=CreateSemaphore(0,40,50,”SE1”);
semFull=CreateSemaphore(0,10,50,”SF1”);
WaitForSingleObject(semEmpty,INFINITIVE);
ReleaseSemaphore(semFull,1,NULL);

HANDLE semEmpty,semFull;
Khai báo 2 biến kiểu mục quản semEmpty, semFull.
semEmpty dùng để quản lý số vùng trống trong bộ đệm.
semFull dùng để quản lý số sản phẩm trong bộ đệm.

semEmpty=CreateSemaphore(0,40,50,”SE1”);
Khởi tạo đèn hiệu với giá trị ban đầu 40, giá trị tối đa 50, tên đèn hiệu "SE1" (đèn hiệu liên tiến trình) và gán mục quản của đèn hiệu vừa tạo được vào biến semEmpty.

semFull=CreateSemaphore(0,10,50,”SF1”);
Tương tự semEmpty.

WaitForSingleObject(semEmpty,INFINITIVE);
Chờ đến khi có chỗ trống (giá trị đèn hiệu semEmpty >= 1) và đồng thời trừ đi 1.

ReleaseSemaphore(semFull,1,NULL);
Tăng giá trị semFull lên 1, kết thúc công việc.

Cám ơn bạn, trình bày dễ hiểu và dễ nhớ

VoThanhTrung41 (HLT3)

Tổng số bài gửi : 34
Join date : 23/03/2014

Xem lý lịch thành viên

Về Đầu Trang Go down

Compiler (biên dịch) và Interpreter (thông dich)

Bài gửi  HuynhHuuPhat(HLT3) on 11/5/2014, 08:57

-Compiler (biên dịch): Code sau khi đc biên dịch sẽ tạo ra 1 file thường là .exe, và file .exe này có thể đem sử dụng lại không cần biên dịch nữa.
-Interpreter (thông dich) : Nó dịch từng lệnh rồi chạy từng lệnh, lần sau muốn chạy lại thì phải interpreter lại, dễ phát hiện lỗi hơn.

ví dụ:
-Compiler giống như một dịch thuật gia, giã sử ông ta dịch một cuốn sách từ English sang Vietnam, sau này một người không biết English vẫn có thể hiểu nội dung quyển sách bằng cách đọc quyển tiếng Việt do ông ta dịch.

-Interpreter giống như là thông dịch viên, có một cuộc hôi thảo người báo cáo là người Anh, trong khi hầu hết người dự báo cáo là người việt không biết tiếng Anh thì sẽ cần đến một anh thông dịch viên, lần sau cũng có cuộc hội thảo tương tự như vậy, cùng chủ đề đó nhưng cũng cần đến anh thông dịch viên.

HuynhHuuPhat(HLT3)

Tổng số bài gửi : 19
Join date : 16/03/2014

Xem lý lịch thành viên

Về Đầu Trang Go down

mình cũng bí bài này =.=

Bài gửi  HuynhHuuPhat(HLT3) on 11/5/2014, 08:59

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...  Sad Sad Sad 

có bạn nào làm ra bài này chưa chỉ mình với

HuynhHuuPhat(HLT3)

Tổng số bài gửi : 19
Join date : 16/03/2014

Xem lý lịch thành viên

Về Đầu Trang Go down

bạn cho ví dụ về CPU Bound Process và I/O Bound Process đi,cảm ơn bạn nhé :))

Bài gửi  vothihongngoc72 (HLT3) on 11/5/2014, 10:01

NguyenTrungTruc(HLT3) đã viết:Job Queue (hàng đợi công việc) là danh sách chứ các tiến trình ở trạng thái New.
- Ví dụ: Một nhóm SV đứng xếp thành hàng trước phòng thi để chờ giám thị gọi tên.
Ready Queue (hàng đợi sẵn sàn) là danh sách chứa các tiến trình ở trạng thái Ready.
- Ví dụ: Các SV sau khi được gọi tên và hiện đang ngồi tại bàn tương ứng với STT để chuẩn bị làm bài thi.
CPU Bound Process (tiến trình hướng CPU) ở tiến trình này CPU phải tính toán nhiều, ít giao tiếp I/O, Khi một tiến trình nhận được CPU, nó có khuynh hướng sử dụng CPU đến khi hết thời gian dành cho nó ? Hoạt động của các tiến trình như thế thường bao gồm một số ít lượt sử dụng CPU , nhưng mỗi lượt trong một thời gian đủ dài.
- Khi giải quyết một vấn đề, ta tự thân vận động, suy nghĩ, phân tích vấn đề để đạt được kết quả cuối cùng, bắt buộc não bộ phải làm việc thật tập trung và rất nhiều mà không cần hoặc ít giao tiếp với người khác để nhờ trợ giúp.
I/O Bound Process (tiến trình hướng I/O) ở tiến trình này CPU tính toán ít, giao tiếp nhiều, Khi một tiến trình nhận được CPU, chủ yếu nó chỉ sử dụng CPU đến khi phát sinh một yêu cầu nhập xuất ? Hoạt động của các tiến trình như thế thường bao gồm nhiều lượt sử dụng CPU , mỗi lượt trong một thời gian khá ngắn.
- Suy nghĩ ít, chủ yếu nhờ người khác giải quyết vấn đề dùm mình.

Preemtive Scheduling (điều phối có tiếm quyền): Nguyên lý điều phối có tiếm quyền cho phép một tiến trình khi nhận được CPU sẽ có quyền độc chiếm CPU đến khi hoàn tất xử lý hoặc tự nguyện giải phóng CPU. Các giải thuật này thường đơn giản và dễ cài đặt. Tuy nhiên chúng thường không thích hợp với các hệ thống tổng quát nhiều người dùng, vì nếu cho phép một tiến trình có quyền xử lý bao lâu tùy ý, có nghĩa là tiến trình này có thể giữ CPU một thời gian không xác định, có thể ngăn cản những tiến trình còn lại trong hệ thống có một cơ hội để xử lý.
Non-preemtive Scheduling (điều phối không tiếm quyền): Ngược với nguyên lý tiếm quyền, điều phối theo nguyên lý không tiếm quyền cho phép tạm dừng hoạt động của một tiến trình đang sẵn sàng xử lý. Khi một tiến trình nhận được CPU, nó vẫn được sử dụng CPU đến khi hoàn tất hoặc tự nguyện giải phóng CPU, nhưng một tiến trình khác có độ ưu tiên có thể dành quyền sử dụng CPU của tiến trình ban đầu. Như vậy là tiến trình có thể bị tạm dừng hoạt động bất cứ lúc nào mà không được báo trước, để tiến trình khác xử lý , thường xảy ra khi tiến trình chỉ thi hành trong tình huống 1 và 4, tiến trình giữ CPU cho đến khi kết thúc bình thường hoặc khi chuyển sang trạng thái Waiting

vothihongngoc72 (HLT3)

Tổng số bài gửi : 28
Join date : 16/03/2014

Xem lý lịch thành viên

Về Đầu Trang Go down

Cảm ơn các bạn nhé !

Bài gửi  BuiNguyenHoangYen (HLT3) on 11/5/2014, 11:47

Các câu trả lời rất bổ ích. Các bạn nên tham khảo thêm các bài điểm 10 của mấy anh chị năm trước để thu thập thêm tư liệu.
Tuy nhiên, preemptive scheduling và non-preemptive scheduling được trình bày NGƯỢC với lý thuyết. Non-preemptive scheduling (điều phối không tiếm quyền) : HDH không thể chiếm quyền điều khiển CPU của process, Preemptive scheduling (điều phối có tiếm quyền) : HDH có thể chiếm quyền điều khiển CPU của process.


Được sửa bởi BuiNguyenHoangYen (HLT3) ngày 11/5/2014, 12:01; sửa lần 1.

BuiNguyenHoangYen (HLT3)

Tổng số bài gửi : 16
Join date : 16/03/2014

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: Ôn tập để Kiểm tra giữa kỳ và Thi lý thuyết

Bài gửi  truongphamhuytruong.i11c on 11/5/2014, 12:01

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


Cảm ơn bạn, chúc bạn thi tốt ...

truongphamhuytruong.i11c

Tổng số bài gửi : 50
Join date : 26/08/2011

Xem lý lịch thành viên

Về Đầu Trang Go down

trả lời về bài tập

Bài gửi  NguyễnMinhHoàng45(HLT3) on 11/5/2014, 15:45

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
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.
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
avatar
NguyễnMinhHoàng45(HLT3)

Tổng số bài gửi : 44
Join date : 17/02/2012
Age : 31
Đến từ : Viet Nam

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: Ôn tập để Kiểm tra giữa kỳ và Thi lý thuyết

Bài gửi  NguyenChiKien(HLT3) on 11/5/2014, 16:08

NguyễnMinhHoàng45(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
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.
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ũ...  Cool Cool 
avatar
NguyenChiKien(HLT3)

Tổng số bài gửi : 44
Join date : 23/03/2014
Age : 34

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: Ôn tập để Kiểm tra giữa kỳ và Thi lý thuyết

Bài gửi  Sponsored content


Sponsored content


Về Đầu Trang Go down

Trang 2 trong tổng số 5 trang Previous  1, 2, 3, 4, 5  Next

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang

- Similar topics

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