Câu hỏi chương 4.

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

Câu hỏi chương 4.

Bài gửi  lamtienkhoa(102c) on 30/4/2012, 07:55

BÀI 4: QUẢN LÝ TIẾN TRÌNH
Câu 1: Định nghĩa tiến trình, so sánh tiến trình với chương trình.
Trả lời:
* Định nghĩa tiến trình:
- 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ĐH).
* So sánh tiến trình với chương trình:
- Bản thân chương trình không là tiến trình vì là thực thể thụ động, trong khi tiến trình là một thực thể hoạt động với nhiều thông tin về trạng thái trong đó có bộ đếm chương trình cho biết vị trí lệnh hiện hành.
- Nhiều tiến trình có thể liên quan đến một chương trình và là các thực thể khác nhau khi vận hành.
- Mỗi tiến trình có thể sinh ra nhiều tiến trình con khác khi thực hiện.
- Tiến trình cần các tài nguyên (CPU, Memory, Tập tin, Thiết bị I/O,...) để hoàn thành công việc.
- Tài nguyên cấp cho tiến trình ngay từ đầu (Khi tiến trình được tạo lập) hoặc trong thời gian vận hành và được thu hồi hết khi tiến trình hoàn tất.

Câu 2: Mô hình trạng thái của tiến trình.
Trả lời:
- có 5 trạng thái:
+ Mới (New) - Tiến trình vừa được tạo lập.
+ Đang chạy (Running) - Các lệnh đang thực hiện.
+ Đang chờ (Waiting) - Tiến trình chờ 1 sự kiện phải xảy ra (Kết thúc I/O,Tín hiệu từ tiến trình khác,...).
+ Sẵn sàng (Ready) - Tiến trình chờ để được ấn định CPU.
+ Kết thúc (Terminated) - Tiến trình vừa được thực hiện xong công việc.
- Sơ đồ chuyển trạng thái tiến trình (có hình vẽ trong Giáo trình).

Câu 3:Thế nào là khối kiểm soát tiến trình (PCB).
Trả lời:
PCB là một cấu trúc dữ liệu được hệ điều hành duy trì cho mỗi tiến trình dùng để chứa các thông tin cần thiết về tiến trình đó. PCB chứa "Bản sao công việc của tiến trình".

Câu 4: Phân biệt điều phối chậm với nhanh
Trả lời:
* Điều phối chậm:
- Chọn tiến trình từ Job Queue để đưa vào Ready Queue.
- Kiểm soát độ đa chương (Số tiến trình trong bộ nhớ).
- 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.
*Điều phối nhanh:
- Còn gọi là Điều phối CPU.
- Chọn tiến trình từ Ready Queue để cấp CPU (đưa sang trạng thái Running).
- 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, như vậy 10/(100+10)=9% thời gian CPU để điều phối công việc.

Câu 5: Lý do cộng tác giữa các tiến trình.
Trả lời:
- Chia sẽ thông tin: Một tiến trình sử dụng thông tin do tiến trình khác cung cấp.
- Tăng tốc tính toán: Các tiến trình làm việc song song trên cùng một hoặc nhiều máy tính để giải quyết bài toán chung.
- Đảm bảo tính đơn thể: Chương trình được chia thành các đơn thể chức năng riêng vận hành trong các tiến trình hoặc luồng khác nhau.
- Đảm bảo tính tiện dụng: Người dùng có khả năng làm nhiều việc cùng một lúc: Soạn thảo, In ấn, Lấy file về,...

Câu 6: Phát biểu bài toán Sản xuất-Tiêu thụ với thuật giải phù hợp.
Trả lời:
* Phát biểu bài toán Sản xuất-Tiêu thụ.
- Giả sử có bộ nhớ đệm (buffer) bao gồm nhiều khoang chứa (Items) được tiến trình Producer lần lượt đưa các sản phẩm S1, S2,... vào.
- Tiến trình Consumer lần lượt lấy sản phẩm ra theo đúng thứ tự.
- Công việc của Producer phải đồng bộ với Consumer: Không được đưa sản phẩm vào khi buffer đầy, không được lấy ra khi chưa có sản phẩm.
* Thuật giải chờ bận (Busy-Waiting).
- Tiến trình sản xuất:
CODE:
item nextProduced;
while (1)
{
while (((in + 1) % BUFFER_SIZE) == out);
buffer[in] = nextProduced;
in = (in + 1) % BUFFER_SIZE;
}

- Tiến trình tiêu thụ.
CODE:
item nextConsumed;
while (1)
{
while (in == out);
nextConsumed = buffer[out];
out = (out + 1) % BUFFER_SIZE;
}


Câu 7: Tổ chức liên lạc trong hệ thống Khách-Chủ qua Sockets. Phân biệt giao thức TCP với UDP.
Trả lời:
* tổ chức liên lạc trong hệ thống Khách-Chủ.
- Khái niệm Hốc liên lạc (Socket)
+ Hốc là điểm đầu của liên kết truyền thông, được đặc trưng bởi cặp số (IP Address, Port Number) trong mạng Client/Server.
+ Server chờ yêu cầu từ Client bằng cách nghe vào cổng (Port) định trước:
• Telnet Server nghe vào cổng 23
• FTP Server nghe vào cổng 21
• Web Server nghe vào cổng 80
•Thông thường các cổng với số hiệu dưới 1024 là các cổng chuẩn của hệ thống.
+ Khi Client phát sinh yêu cầu nối, nó được cấp một cổng nào đó sau 1024.
- Phân loại hốc liên lạc
+ Có kết nối - Connection-Oriented (TCP - Transmission Control Protocol): Thiết lập sẵn mối liên kết giữa hai đầu (hai máy) trước khi truyền.
+ Không kết nối - Connectionless (UDP - User Datagram Protocol): Không phải thiết lập mối liên kết sẵn trước khi truyền, do đó dễ dàng liên lạc với nhiều máy cùng một lúc, Nhưng không đảm bảo bằng TCP.
* Phân biệt TCP với UDP
Giống nhau : đều là các giao thức mạng TCP/IP, đều có chức năng kết nối các máy lại với nhau, và có thể gửi dữ liệu cho nhau....
Khác nhau:
các header của TCP và UDP khác nhau ở kích thước (20 và 8 byte) nguyên nhân chủ yếu là do TCP phải hỗ trợ nhiều chức năng hữu ích hơn (như khả năng khôi phục lỗi). UDP dùng ít byte hơn cho phần header và yêu cầu xử lý từ host ít hơn.
TCP :
- Dùng cho mạng WAN
- Không cho phép mất gói tin
- Đảm bảo việc truyền dữ liệu
- Tốc độ truyền thấp hơn UDP
UDP:
- Dùng cho mạng LAN
- Cho phép mất dữ liệu
- Không đảm bảo.
- Tốc độ truyền cao, VolP truyền tốt qua UDP

lamtienkhoa(102c)

Tổng số bài gửi : 43
Join date : 28/02/2011

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

Về Đầu Trang Go down

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


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