Tải bản đầy đủ (.doc) (3 trang)

Đề kiểm tra hệ điều hành docx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (106.2 KB, 3 trang )

ĐỀ THI KIỂM TRA GIỮA KỲ
(60 phút, Không được dùng tài liệu)
Câu 1 (1 điểm)
Trình bày mục tiêu, ý nghĩa và cấu trúc môn học “Hệ điều hành”.
Câu 2 (1 điểm)
So sánh chức năng của Long-Term Scheduler với chức năng của Short-Term Scheduler.
Câu 3 (1 điểm)
Phân tích nguyên lý Tập luồng và ứng dụng. Cho ví dụ minh hoạ.
Câu 4 (1 điểm)
Giải thích công việc đoạn mã sau viết bằng Visual C++ 6.0:
Code:
HANDLE ConsumerHandle[100]; DWORD ConsumerID[100];
for(int i=0; i<100; i )
ConsumerHandle[i] = CreateThread(0, 0, (LPTHREAD_START_ROUTINE)
Consumer, 0, 4, &ConsumerID[i]);
Câu 5 (1 điểm)
Giải thích chức năng và công việc hàm sau viết bằng Visual C# .NET:
Code:
private void PronounceByVnVoice(string strTCVN3)
{
IntPtr hApp = FindWindow(null, "Speaking VN");
IntPtr hFrame = FindWindowEx(hApp, IntPtr.Zero,
"AfxFrameOrView42s", "");
IntPtr hRichEditBox = FindWindowEx(hFrame, IntPtr.Zero,
"RICHEDIT", "");
Clipboard.Clear();
SendMessageW(hRichEditBox, WM_SETTEXT, 0,
(int)Marshal.StringToHGlobalUni(strTCVN3));
SendMessage(hApp, WM_COMMAND, 104, 0);
}
Chú ý:


- Điểm Giữa kỳ: 5 đ
- Điểm Diễn đàn: 3 đ
- Điểm Chuyên cần: 2 đ
Admin
Admin
Tổng số bài gửi: 66
Join date: 18/02/2009








Re: Thi kiểm tra giữa kỳ 31-10-2010
Nguyen_xuan_tam0951010034 on 1/11/2010, 12:59
câu 1:
-Mục tiêu:Nhằm cung cấp các khái niệm cơ bản về cấu trúc và hoạt động của hệ điều
hành.
-Ý nghĩa:
+ Hiểu sâu hơn về nguyên lý hoạt động của phần cứng và phần mềm máy tính.
+ Học phương pháp phân tích,thiết kế và lập trình một hệ thống lớn để áp dụng cho công
tác nghiệp vụ sau này.
+ Là kiến thức cơ sở để từ đó sử dụng, khai thác hiệu quả những dịch vụ của hệ điều
hành, tích cực xây dựng những ứng dụng với giao diện dễ sử dụng nhất.
-Cấu trúc môn học:
+ Môn học gồm có 7 chương:
• Giới thiệu hệ điều hành.
• Cấu trúc máy tính.

• Cấu trúc Hệ điều hành
• Quản lý tiến trình.
• Đa luồng.
• Điều phối CPU.
• Đồng bộ hóa tiến trình.
câu 2:
*Trình điều phối chậm:Do có nhiều thời gian (vài phút), loại Scheduler này có điều kiện
để lựa chọn kỹ các tiến trình cần nhằm phối hợp cân đối hai loại tiến trình:
+ Hướng CPU (CPU-Bound): Tính toán nhiều, Ít I/O.
+ Hướng I/O(I/O-Bound): Tính toán ít, Nhiều I/O.
Mục đích: Cân bằng tải cho toàn hệ thống.
*Trình điều phối nhanh:Có tần suất công việc cao. Thường cứ 100ms lại tốn 10ms để xác
định tiến trình kế tiếp cần chuyển sang Running.
VD:
*Trình điều phối chậm:vào buổi sáng ngày 19/06/2000 ta mua 1 tờ vé số,ta có 1 khoảng
thời gian dài từ sáng đến chiều để lựac chọn,ta có thể chọn loại vé tới chiều sẽ xổ số và ta
cũng có thể chọn loại vé sổ ngay tại chỗ.
*Trình điều phối nhanh:trong thời gian ta giải lao 100 phút thì ta có khoảng thời gian là
10 phút để xác định công việc tiếp theo là học bài.
Câu3:
*Nguyên lý tập luồng:
- Tập luồng bao gồm luồng giống nhau (ví dụ, chung mã).
- 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à nhanh chóng đưa vào vận hành.
- Phục vụ xong luồng được trả về tập luồng.
- Nếu số yêu cầu lớn hơn số tập luồng trong tập, tiến trình cha chờ đến khi có luồng được
giải phóng.
VD:trong 1 khách sạn có 1 đơn vị khiên hành lý cho khách,trưởng phòng của đơn vị

này(trong ví dụ này là tiến trình cha) sẽ điều phối công việc cho các nhân viên trong đơn
vị của mình(các luồng),trong đơn vị này có 5 nhân viên,khi có 1 khách hàng yêu cầu
khiêng hành lý thì trưởng phòng sẽ gọi 1 người bất kỳ trong 5 người đi khiên hành lý cho
khách,sau khi khiên xong người này sẽ trở lại đơn vị của mình để chờ được phân công
tiếp công việc tiếp theo,khi có 6 khách hàng yêu cầu khiên hành lý thì trưởng phòng sẽ cử
5 nhân viên đi khiên hành lý cho 5 người nhưng trong trường hợp này thì thiếu nhân viên
nên trưởng phòng sẽ chờ 1 nhân viên trong 5 người làm xong công việc rồi sẽ giao công
việc đang chờ nhân viên đó cho người nào làm xong trước.
Câu 4:
HANDLE ConsumerHandle[100]; DWORD ConsumerID[100];
//khai báo mục quản ConsumerHandle là 1 mục quản(đèn hiệu)với 100 phần tử
for(int i=0; i<100; i++)
//cho 1 vòng for chạy với giá trị của i thay đổi từ 0->99,
ConsumerHandle[i] = CreateThread(0, 0, (LPTHREAD_START_ROUTINE) Consumer,
0, 4, &ConsumerID[i]);
//hàm CreateThread dùng để thiết lập giá trị ban đầu cho biến đèn hiệu ConsumerHandle
vói giá trị i chạy từ 0->99.
//hàm Consumer dùng để điều khiển công việc của hàm xuất.
//Tạo luồng Xuất 100 phần tử này,sau khi xuất thì ở trong trạng thái ngủ.
Câu 5:
private void PronounceByVnVoice(string strTCVN3)
//khai báo TCVN3 với kiểu con trỏ(vì có str ở trước) và là 1 chuổi(có string).
{
IntPtr hApp = FindWindow(null, "Speaking VN");
//Tìm trong Window xem có chương trình đọc hay không(null),và đọc(Speaking VN).
IntPtr hFrame = FindWindowEx(hApp, IntPtr.Zero, "AfxFrameOrView42s", "");
//Gọi lài hàm hApp ở trên xem có zero hay không.
IntPtr hRichEditBox = FindWindowEx(hFrame, IntPtr.Zero, "RICHEDIT", "");
//Gọi lại hàm hFrame ở trên xem có zero hay không.
Clipboard.Clear();

//Xoá sạch màn hình.
SendMessageW(hRichEditBox, WM_SETTEXT, 0,
(int)Marshal.StringToHGlobalUni(strTCVN3));
//Gửi đoạn văn bản ở hàm hRichEditBox
SendMessage(hApp, WM_COMMAND, 104, 0);
}

×