You are on page 1of 7

HỆ ĐIỀU HÀNH

Câu 9: Khi xử lí đồng hành, HĐH gặp những khó khăn gì? Nêu giải pháp chung để khắc phục khó khăn
đó.
Khi xử lí đồng hành, có thể xảy ra tình huống nhiều tiến trình đồng thời sẵn sàng để xử lí do vậy HĐH gặp
khó khăn trong việc chuyển đổi CPU qua lại giữa các tiến trình một cách thường xuyên để bảo đảm nhiều
người sử dụng có thể tương tác cùng lúc với từng chương trình trong quá trình xử lí.
Để giải quyết việc chuyển đổi CPU qua lại giữa các tiến trình HĐH phải tổ chức điều phối tiến trình. Hai
thành phần đảm nhiệm vai trò điều phối là: Bộ điều phối (Scheduler) và bộ phân phối (Dispatcher).
+ Bộ điều phối (Scheduler): Sử dụng một giải thuật điều phối thích hợp để thực hiện việc lựa chọn tiến
trình xử lí tiếp theo.
+ Bộ phân phối (Dispatcher): Chịu trách nhiệm chuyển đổi ngữ cảnh và trao CPU cho tiến trình được
chọn bởi bộ điều phối để xử lí

Câu 10: Các yêu cầu khi tổ chức lưu trữ tiến trình? Các thời điểm kết buộc địa chỉ? Mục đích của điều
phối tiến trình?

Câu 11: Chiến lược điều phối xoay vòng. Cho ví dụ minh hoạ
- Chiến lược điều phối xoay vòng (Round Robin):
Trong chiến lược điều phối xoay vòng, Ready list được xử lí như một danh sách vòng, bộ điều phối lần
lượt cấp phát cho từng tiến trình trong danh sách một khoảng thời gian sử dụng CPU gọi là quantum.
Chiến lược điều phối xoay vòng sử dụng cơ chế điều phối không độc quyền, cụ thể:
Khi một tiến trình sử dụng hết thời gian quantum dành cho nó, HĐH thu hồi CPU và cấp cho tiến
trình kế tiếp trong danh sách Ready list. Nếu tiến trình bị khoá hay kết thúc trước khi sử dụng hết thời gian
quantum thì HĐH lập tức cấp phát CPU cho tiến trình tiếp theo trong danh sách. Khi tiến trình tiêu thụ hết
thời gian quantum dành cho nó mà chưa hoàn tất thì tiến trình được đưa trở lại vào cuối danh sách Ready
list để đợi cấp phát CPU trong lượt kế tiếp.

- Ví dụ minh hoạ: quantum = 4
Tiến trình Thời điểm vào Ready list Thời gian xử lí
P1 0 24
P2 1 3
P3 2 3
Thứ tự cấp phát CPU:
P1 P2 P3 P1
0 4 7 10 30
Thời gian lưu lại hệ thống:
Tiến trình Thời gian lưu lại hệ thống Thời gian chờ
(TT) (WT)
P1 30 0+(10-4)=6
P2 7-1 4-1=3
P3 10-2 7-2=5
Thời gian chờ trung bình:
AvgWT = (6+3+5)/3 = 4,66

Câu 13, 14: Phương pháp chống tắc nghẽn:
Để chống tắc nghẽn cho hệ thống ta cần loại bỏ tất cả các cơ hội có thể dẫn đến tắc nghẽn trong tương lai.
Khi một tiến trình Pi nào đó yêu cầu tài nguyên r nào đó thì hệ thống kiểm tra trạng thái an toàn, nếu hệ
thống an toàn lúc này tài nguyên sẽ được cấp phát thật sự cho Pi, ngược lại Pi phải chờ.
Giải thuật xác định trạng thái an toàn của hệ thống:
1: Giả sử có:
int Work[NumProcs, NumResources] = Available[NumResources];
int Finish[NumProcs] = false;
2: Tìm i sao cho:
Finish[i] == false và Need[i,j]<= Work[i,j], ∀j< NumResources
Nếu không có i như thế thì chuyển sang bước 4;
3: Work = Work + Allocation[i];
Finish[i] = true;
Đến bước 2;
4: Nếu Finish[i]== true với mọi i thì hệ thống ở trạng thái an toàn.

CƠ SỞ DỮ LIỆU NÂNG CAO

Câu 1: Định nghĩa phụ thuộc hàm và các khái niệm liên quan.
Định nghĩa:
Xét lược đồ quan hệ gồm n thuộc tính:
R(U), U={A1, A2, …, An}
Phụ thuộc hàm giữa hai tập thuộc tính X, Y ⊆ U :
. Ký hiệu: X → Y
. ∀r ∈ R, ∀t1, t2 ∈ r nếu t1[X] = t2[X] thì t1[Y] = t2[Y]

Các khái niệm liên quan:
- Phụ thuộc hàm X → Y là tầm thường khi và chỉ khi Y=X
- ∀r∈R, ∀t∈r nếu t[X] là duy nhất thì X là một khoá của R
- Nếu K là một khoá của R thì K xác định hàm tất cả các tập thuộc tính của R
- Phụ thuộc hàm dùng để đánh giá một thiết kế CSDL

Câu 2: Phát biểu Hệ tiên đề Amstrong và các hệ quả:
1. Phản xạ: Nếu Y ⊆ X thì X→Y
2. Luật tăng trưởng: Nếu X→Y thì XZ→YZ.
3. Luật bắt cầu: Nếu X→Y và Y→Z thì X→Z.
Các hệ quả:
4. Luật hợp: Nếu X→Y và X→Z thì X→YZ
5. Luật phân rã: Nếu X→YZ thì X→Y và X→Z.
6. Luật tựa bắt cầu: Nếu X→Y và YZ→W thì XZ→W.

Câu 3: Định nghĩa bao đóng của một tập thuộc tính trong lược đồ quan hệ
Xét lược đồ quan hệ gồm n thuộc tính: R(U), U={A1, A2, …, An}
F là tập phụ thuộc hàm trên tập thuộc tính U, X ⊆ U
Bao đóng của tập phụ thuộc hàm F, ký hiệu F+, gồm: F và tất cả các phụ thuộc hàm được suy diễn từ F
Bao đóng của của tập thuộc tính X ứng với F: là tập các thuộc tính phụ thuộc hàm vào X
. Ký hiệu: X+F
. X+F = { A ∈U | X→ A∈ F+}

Câu 7. Cho lược đồ quan hệ R và tập phụ thuộc hàm F trên R : F= { ab → e, ag → i, e → g , gi → h } .hãy
chứng minh rằng : ab→gh
1. ab→e, e→g ⇒ ab→g (bắt cầu)
2. ab→g ⇒ ab→ag (1, tăng trưởng)
3. ab→ag, ag→i ⇒ ab→i (2, bắt cầu)
4. ab→g, ab→i ⇒ ab → gi (1,3, luật hợp)
5. ab→gi, gi→h ⇒ ab →h (4, bắt cầu)
6. ab→g, ab→h ⇒ ab→gh (1,5, luật hợp)
Kết luận: ab→gh

Câu 8. Cho lược đồ quan hệ R và tập phụ thuộc hàm F trên R : F=
{ ab → c, b → d , dc → e, ce → gh, g → a } . Hãy chứng minh rằng : ab → e, ab → g
CM: ab→e
1. ab→c ⇒ ab→bc (tăng trưởng)
2. b→d ⇒ bc→dc (tăng trưởng)
3. bc→dc, dc→e ⇒ bc→e (2, bắt cầu)
4. ab→bc, bc→e ⇒ ab→e (1,3,bắt cầu)
KL: ab→e

CM: ab→g
1. dc→e, ce→gh ⇒dc→gh (tựa bắt cầu)
2. ab→c ⇒ ab→bc (tăng trưởng)
3. b→d ⇒ bc→dc (tăng trưởng)
4. ab→bc, bc→dc ⇒ ab→dc (2,3,bắt cầu)
5. ab→dc, dc→gh ⇒ ab→gh (4,1,bắt cầu)
6. ab→gh ⇒ ab→g (5, phân rã)
KL: ab→g
Câu 9. Cho lược đồ quan hệ S=<R,F>với R= { A, B, C , D } và F = { a → b, a → c }
Hãy tìm các phụ thuộc hàm suy được từ các quy tắc của phụ thuộc hàm trong các ràng buộc sau:
a → d, c → d, ab →b, bc → a, a → bc.
1. a→b ⇒ ab → b (tăng trưởng)
2. a→b, a→c ⇒ a→bc (luật hợp)
Vậy các phụ thuộc hàm suy ra từ các quy tắc là: ab→b, a→bc

10. Giaû söû ta coù löôïc ñoà quan heä Q(C,D,E,G,H,K) vaø taäp phuï thuoäc haøm
F nhö sau;
F = {CK→ H; C →D; E→C; E →G; CK →E}
a) Töø taäp F, haõy chöùng minh EK → DH
b) Tìm taát caû caùc khoùa cuûa Q.
a/ CM: EK→DH
1. E→C, CK→H ⇒ EK→H (tựa bắt cầu)
2. E→C, C→D ⇒ E→D (bắt cầu)
3. CK→E, E→D ⇒ CK→D (2, bắt cầu)
4. E→C, CK→D ⇒ EK→D (3, tựa bắt cầu)
5. EK→H, EK→D ⇒ EK→DH (1,4, luật hợp)
KL: EK→DH

b/ Tìm tất cả các khoá của Q
Đặt K =CDEGHK
Loại C:
(DEGHK)+F = DEGHKC = Q ⇒ K=DEGHK
Loại D:
(EGHK)+F = EGHKCD = Q ⇒ K=EGHK
Loại E:
(GHK)+F = GHK ≠ Q
Loại G:
(EHK)+F = EHKCGD=Q ⇒ K=EHK
Loại H:
(EK)+F =EKCGDH =Q ⇒ K =EK
Loại K:
(E)+F =ECGD ≠ Q
KL: Khoá là K=EK

Câu 11. Cho lược đồ quan hệ Q(S,I,D,M) F = {f1:SI → DM; f2:SD→ M; f3:D→ M}
a) Tính bao đóng D+, SD+, SI+
b) Tìm tất cả các khóa của Q
a) (D) F = DM; (SD)+F =SDM; (SI)+F =SIDM
+

b) Đặt K = SIDM
Loại S:
(IDM)+F = IDM ≠ Q
Loại I:
(SDM)+F = SDM ≠ Q
Loại D:
(SIM)+F = SIMD = Q ⇒ K=SIM
Loại M:
(SI)+F = SIDM = Q ⇒ K = SI
KL: Khoá là K=SI

Câu 12. Cho lược đồ quan hệ Q(A,B,C,D,E,G,H,K) và tập phụ thuộc hàm F như sau;
F = {C → AD; E→ BH; B→ K; CE→ G}
a) Kiểm tra xem các phụ thuộc hàm E→ K; E→G có thuộc tập F+ ?
b) Tìm tất cả các khóa của Q.
// F+: gồm F và các suy diễn từ F
a) 1. e→BH ⇒ e→b, e→H (Luật phân rã)
2. E→B, B→K ⇒ E→K (1, bắt cầu)
KL: E→K ∈ F+
Các bạn tự chứng minh E→G ∉ F+
b) Đặt K =ABCDEGHK
Loại A:
(BCDEGHK)+F = BCDEGHKA =Q ⇒ K=BCDEGHK
Loại B:
(CDEGHK)+F = CDEGHKAB =Q ⇒ K=CDEGHK
Loại C:
(DEGHK)+F = DEGHKB ≠ Q
Loại D:
(CEGHK)+F = CEGHKADB = Q ⇒ K= CEGHK
Loại E:
(CGHK)+F = CGHKAD ≠ Q
Loại G:
(CEHK)+F = CEHKADBG=Q ⇒ K=CEHK
Loại H:
(CEK)+F = CEKADBHG = Q ⇒ K=CEK
Loại K:
(CE)+F = CEADBHKG =Q ⇒ K=CE
KL: Khoá là K = CE

Câu 19. Cho lược đồ quan hệ r= ABCDEF và tập các phụ thuộc hàm
F={AB→ C, C→B, ABD→ E, F → A}. Xét phép tách r thành các lượt đồ con sau :
r1= BC, r2 = AC, r3 = ABDE, r4= ABDF. Phép tách này có bảo tồn thông tin không?

A B C D E F
BC b11 a2 a3 b14 b15 b16
AC a1 b22 (a2) a3 b24 b25 (a5) b26
ABDE a1 a2 b33 a4 a5 b36
ABDF a1 a2 b43 a4 b45 (a5) a6

- Xét AB→C: không thay đổi
- Xét C→B: thay b22 bằng a2
- Xét ABD→E: thay b45 bằng a5; b25 bằng a5
- Xét F→A: không thay đổi

KL: Phép tách không bảo toàn thông tin

Câu 20. Cho lược đồ quan hệ r =ABCDE và tập phụ thuộc hàm
F={AB → C, C →E, C → D, AB → E}. Xét phép tách r thành các lượt đồ con sau:
r1= ABC, r2= AD, r3= DE. Phép tách này có bảo toàn thông tin không?
A B C D E
ABC a1 a2 a3 b14 b15
AD a1 b22 a3 b24 b25
DE b31 b32 b33 a4 a5
- Xét AB→C: không thay đổi
- Xét C→E: không thay đổi
- Xét C→D: không thay đổi
- Xét AB→E: không thay đổi
KL: phép tách không bảo toàn thông tin

Câu 22. Cho lược đồ quan hệ r(B, O, I, S, Q, D) và các phụ thuộc hàm: F={S→D, I→B, IS→Q, B→O}.
- Tìm một khóa của r dựa vào F.
- Tìm một phân rã bảo toàn thông tin của r đối với F.
a/ Xác định một khoá của r:
Đặt K=BOISQD
Loại B:
(OISQD)+F = OISQDB = r ⇒ K=OISQD
Loại O:
(ISQD)+F = ISQDBO =r ⇒ K=ISQD
Loại I:
(SQD)+F = SQD ≠ r
Loại S:
(IQD)+F = IQDBO ≠ r
Loại Q:
(ISD)+F = ISDBQO = r ⇒ K =ISD
Loại D:
(IS)+F = ISBDQO = r ⇒ K = IS
KL: Khoá là K=IS

b/ Xác định một phân rã bảo toàn thông tin
R(BOISQD) ??
B→O IS→Q, S→D, I→B
R1(BO) R2(BISQD)
S→D IS→Q, I→B
R3(SD) R4(BISQ)
I→B IS→Q
R5(IB) R6(ISQ)

Phép tách R=(R1,R3,R5,R6) thành BCNF bảo toàn thông tin, bảo toàn phụ thuộc hàm

Câu 23,24: Các bạn tự làm

Câu 25: (Bài kiểm tra quá trình)
Cho lược đồ quan hệ R(ABCDEFG) và F={AB→CD, CD→E, C→A, AE→F)
1. Chứng minh AE→F
2. Tính (AB)+F, (GC)+F
3. Tìm một khoá của R
4. Xác định dạng chuẩn cao nhất của R
5. Tìm một phép tách R thành BCNF bảo toàn thông tin
6. Cho R=<U,F>, U=ABCDEG, F={AB→D, C→B, DB→E, D→G}. Hãy kiểm tra phép tách
ρ =(ABCD, BDE, BDG) có bảo toàn thông tin không?

1. Chứng minh AE→F
a. AB→CD, CD→E ⇒ AB→E (bắt cầu)
b. AB→E ⇒ AB→AE (a, tăng trưởng)
c. AB→AE, AE→F ⇒ AB→F (b, bắt cầu)
KL: AE→F
2. Tìm (AB)+F
Đặt X+ = AB
- Xét AB→CD, AB ⊆ X+ ⇒ X+ = ABCD
- Xét CD→E, CD ⊆ X+ ⇒ X+ = ABCDE
- Xét AE→F, AE ⊆ X+ ⇒ X+ = ABCDEF
KL: (AB)+F = ABCDEF

Tìm (AGC)+F
Đặt X+ = AGC
- Các phụ thuộc hàm trong F là AB→CD, CD→E, AF→F có vế trái không chứa trong X+ nên
(AGC)+F = AGC

3. Tìm một khoá của R
Đặt K = ABCDEFG
Loại A:
(BCDEFG)+F = BCDEFGA = U ⇒ K =BCDEFG
Loại B:
(CDEFG)+F = CDEFGA ≠ U
Loại C:
(BDEFG)+F = BDEFG ≠ U
Loại D:
(BCEFG)+F = BCEFGAD = U ⇒ K = BCEFG
Loại E:
(BCFG)+F = BCFGADE = U ⇒ K = BCFG
Loại F:
(BCG)+F = BCGADEF = U⇒ K = BCG
Loại G: Không có phụ thuộc hàm xác định G
KL: Khoá là K= BCG

4. Xác định dạng chuẩn cao nhất của R
- Tồn tại phụ thuộc hàm bắt cầu AB→CD, CD→E nên R không thuộc chuẩn 3NF ⇒ R không thuộc chuẩn
BCNF
- Thuộc tính không khoá G không phụ thuộc hàm vào thuộc tính khoá BC ⇒ R không thuộc chuẩn 2NF
KL: R có chuẩn cao nhất là 1NF

5. Tìm một phép tách R thành BCNF bảo toàn thông tin
R(ABCDEFG), F={AB→CD, CD→E, C→A, AE→F)

(CD)+F =CDEAF≠ U⇒ CD→E vi phạm BCNF
R(ABCDEFG)
CD→E AB→CD, C→A, AE→F; (AE)+F = AEF≠ U ⇒ AE→F vi phạm BCNF
R1(CDE) R2(ABCDFG)
AE→F AB→CD, C→A, (AB)+F = ABCD≠ U ⇒ AB→D vi phạm BCNF
R3(AEF) R4(ABCDG)
AB→D AB→C, bổ sung B→G
R5(ABD) R6(ABCG)

Phép tách R=(R1,R3,R5,R6), F ={CD→E, AE→F, AB→D, AB→C, B→G) thành BCNF bảo toàn thông
tin.
* Kiểm tra phép tách
A B C D E F G
CDE a3 a4 a5 a6
AEF a1 a4 a5 a6
ABD a1 a2 a4 a5 a6
ABCG a1 a2 a3 a4 a5 a6 a7

6. R=<U,F>; U=ABCDEG, F = {AB→D, C→B, DB→E, D→G}
Kiểm tra phép tách ρ = (ABCD, BDE, BDG) có bảo toàn thông tin không?

A B C D E G
ABCD a1 a2 a3 a4 b15 (a5) b16 (a6)
BDE b21 a2 a3 b24 (a4) a5 b26 (a6)
BDG b31 a2 a3 b34 (a4) b35 (a5) a6

- Xét AB→D: thay b24, b34 bằng a4
- Xét DB→E: thay b15, b35 bằng a5
- Xét D→G: thay b16, b26 bằng a6
KL: Phép tách ρ = (ABCD, BDE, BDG) bảo toàn thông tin