intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

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

Chia sẻ: Nguyen Ngoc | Ngày: | Loại File: DOC | Số trang:3

173
lượt xem
28
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Tham khảo tài liệu 'đề kiểm tra hệ điều hành', công nghệ thông tin, hệ điều hành phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả

Chủ đề:
Lưu

Nội dung Text: Đề kiểm tra hệ điều hành

  1. ĐỀ 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
  2. • • • • • • • 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:
  3. - 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; i99, 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); }
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
5=>2