Thực hành Hệ điều hành - Bài thực hành số 2: Lập trình multi-process

Đầu vào (Input) của chương trình:
• Các lệnh cần chạy
Đầu ra (Output) của chương trình:
• Kết quả chạy được của các lệnh đó.
Chương trình lần lượt đọc các lệnh trong file input và chạy các lệnh đó. Khi gặp một lệnh mới, chương trình
tạo thêm một process. Khi đó process cha ghi vào file output thông tin về số thứ tự của dòng lệnh, process con
thực hiện lệnh và ghi kết quả của dòng lệnh đó vào file output. Thông tin của process cha luôn nằm trước
thông tin process con. 
pdf 3 trang xuanthi 30/12/2022 860
Bạn đang xem tài liệu "Thực hành Hệ điều hành - Bài thực hành số 2: Lập trình multi-process", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

File đính kèm:

  • pdfthuc_hanh_he_dieu_hanh_bai_thuc_hanh_so_2_lap_trinh_multi_pr.pdf

Nội dung text: Thực hành Hệ điều hành - Bài thực hành số 2: Lập trình multi-process

  1. 1.5 Một số kỹ thuật lập trình 1.5.1 Xử lý thông số nhập vào từ chương trình Một chương trình tốt thường cho phép người dùng thiết lập một vài thông số khi chạy chương trình, chẳng hạn khi thực hiện lệnh: $ ls -R người dùng đã truyền vào thông số -R để liệt kê các file và thư mục không chỉ trong thư mục hiện hành mà còn cả những thư mục con của thư mục hiện hành nếu có. Sau đây là đoạn chương trình mẫu, sử dụng hàm getopt() để xử lý thông số -R ở trên: int opt; extern char *optarg; while ((opt = getopt(argc, argv, "R")) != EOF) { switch (opt) { case 'R': // Option -R occurs // Proccess that option here break; default: // Other options break; } } 1.5.2 Xử lý file cấu hình File cấu hình thường ở dạng text và có cấu trúc (đơn giản). Ta thường sử dụng các hàm sau để xử lý những dạng file này: • fopen: mở một file • fclose: đóng file đã mở • fscanf:: đọc/lọc thông tin trong file với định dạng cụ thể • fgets: đọc một dòng trong file • fprintf: ghi thông tin lên file 2 Yêu cầ u Chương trình sau khi biên dịch có tên là runcommand, hỗ trợ các thông số sau: • -h: Hiển thị thông tin hướng dẫn sử dụng chương trình • -i filename: Chọn file input. Đây là file chứa thông tin các lệnh cần chạy. Tên file input mặc định là input.txt • -o filename: Chọn file output. Đây là file chứa kết quả của các lệnh. Tên file output mặc định là output.txt Cú pháp chạy chương trình runcommands: runcommand [-h] [-i filename] [-o filename] Một số lưu ý khi xử lý option: