Chương 2: Tiến trình và luồng Flashcards

1
Q

Tiến trình là gì ?

A

Khi chương trình hoạt động , nó chuyển thành tiến trình

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Hệ điều hành có chức năng

A

Điều phối việc thực hiện các tiến trình cũng

như phân phối tài nguyên cần thiết cho tiến trình

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Một tiến trình gồm:

A
Mã nguồn chương trình (code) (không thay đổi)
Data
Program Counter
Stack
Register values
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Trạng thái của tiến trình xác định bởi

A

Hoạt động của tiến trình tại thời điểm đó

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Tiến trình có thể thay đổi do các nguyên nhân:

A

Phải dừng hoạt động do hết thời gian
Đợi I/O hoàn tất
Phải chờ một sự kiện xảy ra

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Các trạng thái của tiến trình:

A

new: Tiến trình đang được tạo
running: Tiến trình đang chiếm hữu CPU & thực hiện các lệnh.
waiting: Tiến trình đang chờ cung được cấp tài nguyên hoặc chờ một sự kiện nào đó xuất hiện để chuyển sang trạng thái sẵn sàng.
ready: Tiến trình ở trạng thái sẵn sàng, được phân phổi đủ tài nguyên cần thiết, đang chờ đến lượt được thực hiện theo cơ chế lập lịch của hệ điều
hành.
terminated: Tiến trình kết thúc. Nó không biến mất cho đến khi một tiến trình khác đọc được trạng thái thoát của nó.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Tại một thời điểm, có bao nhiêu tiến trình ở trạng thái running

A

1

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Tại một thời điểm có nhiều tiến trình ở trạng thái ready hay waiting

A

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Tiến trình được khở tạo, cung cấp đủ tài nguyên đi vào trạng thái nào

A

Running

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Khi tiến trình đang thực hiện(running), nó có thể chuyển sang trạng thái:

A

Kết thúc(terminal) nếu thực hiện xong
Chờ(waiting) tiến trình yêu cầu một tài nguyên nhưng chưa được đáp ứng vì tài nguyên chưa sẵn sàng để cấp phát tại thời điểm đó ; hoặc tiến trình phải chờ một sự kiện hay thao tác nhập/xuất
Sẵn sàng(ready) khi xảy ra ngắt để chuyển CPU cho tiến trình có mức ưu tiên cao hơn. Bộ điều phối cấp phát cho tiến trình một khoảng thời gian sử dụng CPU hoặc hết thời gian chiếm hữu CPU

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Tiến trình ở trạng thái chờ khi chuyển sang ready có đặc điểm gì:

A

Tài nguyên cung cấp đủ cho tiến trình

Sự kiện hoặc thao tác I/O tiến trình đang đợi hoàn tất

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

PCB là gì?

A

Là vùng nhớ lưu trữ các thông tin mô tả của tiến trình;

Mỗi tiến trình chỉ có một PCB

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Cấu trúc PCB:

A

Process Id
Process state
Ngữ cảnh tiến trình: Mô tả các tài nguyên liên quan đến tiến trình
Trạng thái CPU: Con trỏ lệnh, CPU registers; được lưu trữ khi xảy ra ngắt
để có thể phục hồi trạng thái khi phục vụ ngắt xong
Thông tin lịch trình CPU - CPU scheduling information
Thông tin quản lý bộ nhớ: danh sách khối nhớ đang cấp cho tiến trình
Tài nguyên sử dụng: danh sách tài nguyên tiến trình đang sử dụng
Tài nguyên tạo lập: danh sách các tài nguyên mà tiến trình yêu cầu
Information Communicate: quan hệ giữa tiến trình này và tiến trình khác trong hệ thống
Statistic : Những thông tin về hoạt động tiến trình(tg thực hiện, tg chờ….)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Hệ điều hành căn cứ nội dung của PCB:

A

Phân phối và phân phối lại CPU

Giải phóng CPU ảo mà không phân phối lại

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Trong chế độ đa chương trình, CPU phục vụ bao nhiêu chương trình trong một thời điểm

A

1

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Trong chế độ đa chương trình, các chương trình còn lại được chạy bởi CPU logic ?

A

Đúng. Hay còn gọi là CPU ảo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

CPU ảo là gì

A

Là CPU logic được phân phối cho toàn bộ tiến trình

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Tốc độ CPU ảo nhanh hơn CPU thực

A

Sai

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

CPU chuyển giữa các tiến trình

A
Hai tiến trình P0 , P1
1,  P0 executing then save state into PCB0 then P0 idle
2, Reload state from PCB1 
3, Finish then executing P1
4, Save state into PCB1
5, Reload state from PCB0 then executing
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Mục tiêu của multiprogramming:

A

Thực thi nhiều chương trình cùng một thời điểm để tối đa hoá sử dụng CPU

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Mục tiêu của time-sharing

A

Luân chuyển giữa các tiến trình để giúp người dùng sử dụng nhiều chương trình khi nó đang chạy

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Hệ điều hành sử dụng mấy danh sách để điều phối tiến trình

A

2

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Waiting list có giải thuật lập lịch nào ko?

A

Không vì chúng yêu cầu loại tài nguyên khác nhau

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Ready List có giải thuật lập lịch hay không

A

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q
Chọn ý sai cho reay list
Lập lịch dài kì đưa từ ổ đĩa vào trong ready list
May be slow
Được sử dụng đến rất thường xuyên
Được sử dụng đến rất không thường xuyên
A

C

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

Thao tác chủ yếu trên một tiến trình của hệ điều hành

A
create or new
destroy or terminal
suspend
resume
thay đổi độ ưu tiên tiến trình
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

Process Creation : Một tiến trình có thể tạo ra các tiến trình khác không

A

28
Q

Khi tạo tiến trình cần phải làm gì

A
29
Q

Khi tạo tiến trình cần phải làm gì

A

phân phối bộ nhớ và tài nguyên

30
Q

Tạo lập tiến trình gồm các bước:

A
Định danh tiến trình mới phát sinh
Đưa vào danh sách quản lý của hệ thống
Xác định độ ưu tiên cho tiến trình
Then
Tạo PCB cho tiến trình
Cấp phát tài nguyên cho tiến trình
31
Q

Resource sharing

A

Chia sẻ tất cả
Chia sẻ tập con các tài nguyên của tiến trình cha
Không có sự chia sẻ

32
Q

Execution(Process Creation)

A

Hàm con xong mới đến hàm to

33
Q

Kết thúc tiến trình, hệ điều hành thực hiện các công việc

A

Thu hồi tài nguyên
Xoá tiến trình khỏi danh sách
Phân phối lại tài nguyên

34
Q

Các tiến trình có liên kết với nhau qua

A

Cơ chế do hệ điều hành cung cấp

35
Q

Vấn đề chính yếu của HĐH

A

Liên lạc tường minh hay tiềm ẩn
Liên lạc theo chế độ đồng bộ hay không đồng bộ
Liên lạc giữa các tiến trình trong hệ thống tập trung và không tập trung

36
Q

Các cơ chế liên lạc

A
Signal
Pipe
Share-Memory
Messages
Sockets
37
Q

Các tín hiệu được gửi đi bởi

A

Phần cứng
HĐH gửi đến một tiến trình
Cha gửi con
Người dùng

38
Q

Liên lạc bằng tín hiệu mang tính chất

A

Không đồng bộ

39
Q

Tiến trình giao tiếp bằng tín hiệu được không

A

Không

40
Q

Các tiến trình chỉ có thể ….. cho nhau về một

biến cố nào đó

A

Thông báo

41
Q

Khái niệm về Pipe

A

Kênh liên lạc trực tiếp một chiều

Dữ liệu xuất của tiến trình này là dữ liệu nhập tiến trình kia dưới dạng dòng các byte

42
Q

Hoạt động cơ chế Pipe

A

Tiến trình ghi dữ liệu vào Pipe

Tiến trình kia đọc dữ liệu từ Pipe

43
Q

Thứ tự truyền dữ liệu qua pipe theo nguyên tắc

A

FIFO

44
Q

Một tiến trình trong cơ chế Pipe có đặc điểm như nào

A

Sử dụng một Pipe do nó tạo ra hoặc kế thừa từ tiến trình cha

45
Q

Lời gọi hệ thống từ hệ điều hành trong cơ chế Pipe để đọc/ghi dữ liệu

A

Read/Write

46
Q

Liên lạc bằng cơ chế Pipe còn gọi là

A

unidirectional

47
Q

Liên lạc bằng hai pipe giữa hai tiến trình có thể dẫn đến tình trạng

A

Deadlock

48
Q

Lý do dẫn đến deadlock khi liên lạc bằng 2 Pipe

A

khi cả hai pipe nối kết hai tiến trình đều đầy(hoặc đều trống) và cả hai tiến trình đều muốn ghi (hay đọc) dữ liệu vào pipe(mỗi tiến trình ghi dữ liệu vào một pipe), chúng sẽ cùng bị khóa và chờ lẫn nhau mãi!

49
Q

Giới hạn hình thức liên lạc theo cơ chế Pipe là

A

Hai tiến trình quan hệ cha-con, trên cùng một máy tính

50
Q

Khó khăn trong việc đồng bộ hoá cơ chế vùng nhớ chia sẻ

A

Không biết dữ liệu đang truy cập là mới nhất?
Làm sao ngăn cản nhiều tiến trình cùng truy nhập bộ
nhớ chung

51
Q

Cơ chế vùng nhớ chia sẻ áp dụng cho …..

A

Máy tính

52
Q

Cơ chế trao đổi thông điệp khái niệm

A

cơ chế các tiến trình giao tiếp và đồng bộ hành động của chúng không chia sẻ không gian địa chỉ chung , thông qua trao đổi các thông điệp

53
Q

Cấu trúc tài nguyên:

A

SourceID: để phân biệt các tài nguyên
SourceState : đây là các thông tin mô tả chi tiết trạng
thái tài nguyên:
+) Phần nào của tài nguyên đã cấp phát cho tiến trình
+) Phần nào còn có thể sử dụng
Hàng đợi trên một tài nguyên : danh sách chứa các tiến trình
đang chờ được cấp phát tài nguyên tương ứng.
Bộ cấp phát: là đoạn code đảm nhiệm việc cấp phát một tài
nguyên đặc thù.

54
Q

Để tăng tốc độ sử dụng CPU hiệu quả hơn

A

Cần nhiều dòng xử lý và cùng chia sẻ một không gian địa chỉ

55
Q

Mỗi dòng xử lý là

A

Một luồng

56
Q

Luồng khác tiến trình ở chỗ nào

A

Luồng có thể nằm chung trong tiến trình
Tiến trình thì phải cung cấp tài nguyên ban đầu
Luồng chỉ cần một phần rất nhỏ và dùng chung trong tiến trình

57
Q

Mỗi luồng ……. với một phần riêng của hệ thống như đĩa, I/O trên mạng, hoặc người dùng

A

Tương tác

58
Q

Luồng bao gồm

A

Thread Id
Counting program
Register list
Stack

59
Q

Lợi ích tiến trình đa luồng: Đáp ứng nhanh

A

Một luồng tương tác với người dùng

Một luồng thực hiện tải dữ liệu

60
Q

Lợi ích tiến trình đa luồng: Chia sẻ tài nguyên

A

Các luồng chia sẻ bộ nhớ và tài nguyên của tiến trình chưa có
Cụ thể: Tốt thuật toán song song
Trao đổi luồng bằng bộ nhớ phân chia

61
Q

Lợi ích kinh tế tiến trình đa luồng

A

Các thao tác khởi tạo, huỷ bỏ ít tốn kém

62
Q

Luồng chia làm 2 loại là:

A

Luồng mức nhân và luồng mức người dùng

63
Q

Các loại mô hình đa luồng

A

Many to One
One to One
Many to Many

64
Q

Windows NT/2000/XP là mô hình đa luồng

A

One to One

65
Q

Hạn chế mô hình Many to One

A

Quản lý luồng thực hiện trong không gian người sử dụng nên nhanh nhưng cũng dễ bị khoá
Các luồng ko chạy song song trong các hệ thống multiprocessor

66
Q

UNIX là mô hình đa luồng kiểu j

A

Many to Many