You are on page 1of 9

BÁO CÁO LAB3

3.3 Sinh viên chuẩn bị


3.3.2 Sử dụng vim để soạn chương trình hello.c

Biên dịch và thực thi chương trình


*Chuyển chương trình hello.c thành một thư viện.

hello.h

main.c

hello.c
Biên dịch và chạy chương trình:
3.3.3 Makefile

*đã chạy lệnh make all lần 2 và target hello đã không được thực thi vì tệp tin
hello đã tồn tại trong hệ thống.

3.3.4 Trình gỡ lỗi


Chạy chương trình lần đầu tiên

*Chương trình ra sai đáp án


Sau khi gỡ lỗi lần 2 nhận thấy điều kiện của vòng lặp for phải là i<=num
Kq sau khi sửa đổi

3.4 Hướng dân thực hành


3.4.1 Tiến trình
3.4.1.3 Tạo tiến trình
*Example_fork

*Example_execl.c
Sẽ tạo một file foo.c và một cửa sổ để nhập vào dữ liệu cho file.

*Example_system
Sau khi thực hiện chạy sẽ mở vim editor và thực hiện thay đổi nội dung của
file abc.txt
(*file abc.txt và nội dung đã nhập)

3.4.1.4 Kết thúc tiến trình

3.4.2 Tiểu trình


3.4.2.3 Tạo tiểu trình
3.4.2.4 Dừng tiểu trình

3.5 Bài tập ôn tập


1.
a. Vẽ cây quan hệ

b. Cách sử dụng lệnh ps để tìm tiến trình cha


Gõ ps -f vào terminal, sẽ xuất hiện thông tin của các tiến trình và dựa vào
PID và PPID có thể tìm tiến trình cha của một tiến trình.

c. Cài đặt pstree và trình bày cách sử dụng


*Pstree đã được cài đặt
Dùng lệnh pstree -s [PID] để xem tiến trình cha của tiến trình con bạn chỉ
định.

2.
*Chương trình lỗi do thiếu thư viện
KQ khi có đủ thư viện:
Xuất ra màn hình I see 17 coconuts!
Vì:
Step 1: num_coconuts được gán là 17
Step 2: tiến trình cha tạo một tiến trình con
Step 3: pid !=0, chuyển sang ELSE, đợi tới khi tiến trình con hoàn thành
Step 4: Tiến trình con thay đổi num_coconuts thay đổi thành 42 nhưng bị
thoát ngay sau đó (exit(0))
Step 5: Tiến trình cha tiếp tục chạy và xuất ra I see 17 coconuts.

4.

You might also like