Tải bản đầy đủ (.pdf) (2 trang)

hệ điều hành trần thị như nguyệt bài tập trangthaitientrinh sinhvienzone com

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 (373.88 KB, 2 trang )

1. (Ví dụ trong slide chương 3)
Cho đoạn code sau
/* test.c */
int main(int argc, char** argv)
{
printf(“Hello world\n");
exit(0);
}
Biên dịch chương trình trong Linux: gcc test.c –o test
Thực thi chương trình test: ./test
Trong hệ thống sẽ có một tiến trình test được tạo ra, thực thi và kết thúc.
Hỏi: Chuỗi trạng thái của tiến trình test như thế nào?
Trả lời:








new
ready
running
waiting (do chờ I/O khi gọi printf)
ready
running
terminated

2.
Khi đoạn lệnh sau chạy, hỏi chuỗi trạng thái của tiến trình sẽ như thế nào


main()
{
int i=1;
while(i<100)
i = i+1; // increment i
cout << i; // print value of i
while(i>0)
i = i -1; // decrement i
cout << i; // print value of I
}

SinhVienZone.com

/>

Trả lời:
New, Ready, Running, Waiting, Ready, Running, Waiting, Ready, Running, Terminated
3.
Cho đoạn chương trình sau:
int main(int argc, char** argv)
{
int a;
for (int i = 1; i < 5; i++)
{
if ( i % 2 == 0)
printf(“Hello world\n");
else a = 5*9;
}
exit(0);
}

Hỏi sau khi kết thúc thì chương trình đã nằm trong hàng đợi waiting bao nhiêu lần
3.
Nêu cụ thể các trạng thái của tiến trình?
/* test.c */
int main(int argc, char** argv)
{
printf(“Hello world\n");
scanf(“ Nhập c = %d”,&c);
exit(0);
}

SinhVienZone.com

/>


×