Tìm kiếm tài liệu miễn phí

Bài giảng môn Hệ điều hành: Chương 3 - TS. Nguyễn Văn Hiệp

Bài giảng môn Hệ điều hành - Chương 3: Tương tranh giữa các process" cung cấp cho người học các kiến thức: Giới thiệu về tương tranh, loại trừ tương hỗ giữa các đoạn code CS, các phương pháp dừng chờ chủ động (busy waiting), đồng bộ các process - Bài toán Sản xuất-Tiêu dùng,... Mời các bạn cùng tham khảo nội dung chi tiết.



Đánh giá tài liệu

0 Bạn chưa đánh giá, hãy đánh giá cho tài liệu này


  • 5 - Rất hữu ích 0

  • 4 - Tốt 0

  • 3 - Trung bình 0

  • 2 - Tạm chấp nhận 0

  • 1 - Không hữu ích 0

Mô tả

MÔN HỆ ĐIỀU HÀNH
Chương 3

TƯƠNG TRANH GIỮA CÁC PROCESS
3.1 Giới thiệu về tương tranh
3.2 Loại trừ tương hỗ giữa các đoạn code CS
3.3 Các phương pháp dừng chờ chủ động (busy waiting)
3.4 Đồng bộ các process : Bài toán Sản xuất-Tiêu dùng
3.5 Các phương pháp dừng chờ thụ động (sleep-wakeup)
3.6 Các bài toán IPC kinh điển và giải quyết
Tài liệu tham khảo : chương 2, sách "Modern Operating Systems",
Andrew S. Tanenbaum: , 2nd ed, Prentice Hall
Khoa Công nghệ Thông tin
Trường ĐH Bách Khoa Tp.HCM

Môn : Hệ điều hành
Chương 3 : Tương tranh giữa các process
Slide 1

3.1 Giới thiệu về tương tranh
‰

‰

‰

Trong hệ đa chương, thường có nhiều process chạy song hành,
nhưng mỗi process c kh ng gian l m việc độc lập, không ai có
thể truy xuất trực tiếp không gian làm việc của process khác => rất
tốt cho việc bảo vệ ch ng lẫn nhau nhất l khi các process này là
những chương trình độc lập.
Nếu 2 hay nhiều process cần giao tiếp nhau để đồng bộ hay để
trao đổi dữ liệu, ta cần cung cấp cơ chế cho ch ng. C 2 cơ chế
giao tiếp ch nh giữa c c process : truy xuất bộ nhớ d ng chung v
gởi/nhận th ng b o.
Truy xuất bộ nhớ chung là 1 trong nhiều hoạt động tương tranh
giữa các process. Vấn đề tương tranh trên 1 tài nguyên dùng
chung là vấn đề lớn cần phải giải quyết triệt để vì nếu nhiều
process truy xuất đồng thời v o 1 t i nguy n d ng chung mà
không có sự kiểm soát thì dễ xảy ra lỗi làm hư hỏng tài nguyên
(điều kiện Race).
Khoa Công nghệ Thông tin
Trường ĐH Bách Khoa Tp.HCM

Môn : Hệ điều hành
Chương 3 : Tương tranh giữa các process
Slide 2

1

Giới thiệu về tương tranh
‰

‰

‰

Phân tích kỹ code của chương trình, ta nhận thấy chúng là
danh sách liên tiếp của 2 loại đoạn code :
đoạn code truy xuất các biến cục bộ của chương trình. Đoạn
code này thường dài và xuất hiện nhiều. May mắn là chúng ta
không cần quan tâm và kiểm soát đoạn code này.
Đoạn code truy xuất tài nguyên dùng chung và có thể tranh
chấp với process khác. Đây là đoạn code, mặc dù ít xuất hiện
và thường rất ngắn, nhưng dễ gây lỗi trên tài nguyên nên ta
gọi nó là 'critical session‘ (viết tắt là CS), chúng ta cần kiểm
soát cẩn thận đoạn code CS này.

Môn : Hệ điều hành
Chương 3 : Tương tranh giữa các process
Slide 3

Khoa Công nghệ Thông tin
Trường ĐH Bách Khoa Tp.HCM

Giới thiệu về tương tranh
đoạn lệnh truy
xuất cục bộ

đoạn lệnh truy
xuất cục bộ
critical session 1

resource 1

đoạn lệnh truy
xuất cục bộ

đoạn lệnh truy
xuất cục bộ
critical session 2
đoạn lệnh truy
xuất cục bộ

Khoa Công nghệ Thông tin
Trường ĐH Bách Khoa Tp.HCM

critical session 2

critical session 1
resource 2
đoạn lệnh truy
xuất cục bộ

Môn : Hệ điều hành
Chương 3 : Tương tranh giữa các process
Slide 4

2

Giới thiệu về tương tranh
Thí dụ 2 ứng dụng truy xuất tài khoản A đồng thời :
1. hiển thị giao diện & chờ
người dùng ra lệnh
2. Người dùng ra lệnh nạp
vào tài khoản A số tiền
700USD → xử lý :
21a Đọc tài khoản A vào
bộ nhớ,
22a Tăng giá trị tài
khoản trong bộ nhớ
lên 700USD.
23a Ghi lại giá trị mới.
3. Quay về bước 1

Tài khoản
A

Vùng CS

1. hiển thị giao diện & chờ
người dùng ra lệnh
2. Người dùng ra lệnh rút tiền
từ tài khoản A 500USD →
xử lý :
21b Đọc tài khoản A vào
bộ nhớ,
22b Giảm giá trị tài
khoản trong bộ nhớ
đi 500USD.
23b Ghi lại giá trị mới.
3. Quay về bước 1

Nếu tài khoản A là 1000USD và HĐH điều khiển chạy 2 process P1 và P2
theo thứ tự 21a→22a→21b→22b→23b→23a thì kết quả tài khoản A sẽ là
1700USD (giá trị đúng là 1200USD).
Khoa Công nghệ Thông tin
Trường ĐH Bách Khoa Tp.HCM

Môn : Hệ điều hành
Chương 3 : Tương tranh giữa các process
Slide 5

3.2 Loại trừ tương hỗ giữa các đoạn CS
ƒ

ƒ

ƒ

ƒ

Để kiểm soát việc truy xuất tài nguyên đồng thời giữa nhiều process, ta
không cho phép hơn 1 vùng CS của các process đó cùng truy xuất tài
nguyên xác định tại từng thời điểm. Phương pháp này được gọi là loại
trừ tương hỗ giữa các đoạn CS (Mutual Exclusion).
Có nhiều phương pháp loại trừ tương hỗ cụ thể khác nhau và được chia
làm 2 nhóm chính : nhóm các phương pháp dừng chờ chủ động (busy
waiting) và nhóm các phương pháp dừng chờ thụ động (sleep/wakeup).
Tinh thần của nhóm phương pháp dừng chờ chủ động là khi 1 process
cần thực hiện đoạn code CS tương tranh với process khác thì nó phải
dừng chờ đến khi process khác chạy xong đoạn code CS này, trong
quá trình dừng chờ, nó vẫn chiếm CPU liên tục để dò điều kiện chạy
tiếp liên tục (nhưng không thành công).
Tinh thần của nhóm phương pháp sleep/wakeup là khi phải dừng chờ
process khác, nó xin ngủ (trả CPU) và nằm bất động. Khi process khác
thực hiện xong vùng CS, hệ thống sẽ đánh thức process ngủ để bắt đầu
thực hiện đoạn lệnh CS…
Khoa Công nghệ Thông tin
Trường ĐH Bách Khoa Tp.HCM

Môn : Hệ điều hành
Chương 3 : Tương tranh giữa các process
Slide 6

3

Loại trừ tương hỗ giữa các đoạn CS
Mỗi lần muốn vào vùng
CS, ta phải gọi hàm
In_Control() để kiếm soát
việc thi hành vùng CS, khi
hoàn thành vùng CS, ta
phải
gọi
hàm
Out_Control() để thông
báo cho các process khác
đang chờ để chúng kiểm
tra lại việc đi vào.

Khoa Công nghệ Thông tin
Trường ĐH Bách Khoa Tp.HCM

In_Control();
Vùng CS truy xuất tài
nguyên dùng chung
Out_Control();

Môn : Hệ điều hành
Chương 3 : Tương tranh giữa các process
Slide 7

3.3 Các phương pháp chờ chủ động
1. Phương pháp dựa trên Interrupt
ƒ Tính chất cơ bản của CPU là sau khi thi hành 1 lệnh máy, nó sẽ
tự động thi hành lệnh máy kế tiếp,… mà không để ý bất kỳ thứ gì
bên ngoài.
ƒ Tuy nhiên, nếu chỉ vậy, CPU sẽ không bao giờ đáp ứng kịp thời
1 sự kiện nào đó xảy ra trong quá trình thi hành chương trình của
CPU. Do đó, người ta phải tạo thêm 1 chân nhập có tên là IRQ.
Một thiết bị nào đó nếu muốn yêu cầu CPU xử lý dùm công việc
nào thì hãy tạo tín hiệu (ngắt) gởi về CPU trên chân IRQ. Bình
thường, mỗi khi CPU thấy có tín hiệu trên chân IRQ, nó sẽ dừng
tạm thời chương trình đang chạy hiện hành, chạy đoạn lệnh qui
định trước (trình phục vụ ngắt) để xử lý công việc dùm cho thiết
bị yêu cầu. Sau khi hoàn thành trình phục vụ ngắt, CPU sẽ quay
về tiếp tục thi hành chương trình từ vị trí ngừng trước đây.
Khoa Công nghệ Thông tin
Trường ĐH Bách Khoa Tp.HCM

Môn : Hệ điều hành
Chương 3 : Tương tranh giữa các process
Slide 8

4

3.3 Các phương pháp chờ chủ động
1. Phương pháp dựa trên Interrupt
Tuy nhiên, nếu CPU đang thi hành chương trình real-time hay nhạy
cảm với thời gian, nó cần có khả năng phớt lờ yêu cầu ngắt. Để giúp
chương trình quyết định lúc nào cho phép CPU đáp ứng ngắt, lúc
nào phớt lờ, người ta cung cấp 2 lệnh máy sau :
Cli : clear Interrupt : cấm CPU được phục vụ ngắt
Sti : set interrupt : cho phép CPU được đáp ứng ngắt.
Như vậy, nếu ta viết :
In_Control() ≡ cli
Out_Control() ≡ sti
thì tại từng thời điểm chỉ có tối đa 1 process chạy được vùng CS, vì
không có process nào khác (kể cả trình lập lịch) có thể ngắt nó tạm
thời.
Khoa Công nghệ Thông tin
Trường ĐH Bách Khoa Tp.HCM

Môn : Hệ điều hành
Chương 3 : Tương tranh giữa các process
Slide 9

3.3 Các phương pháp chờ chủ động
Phương pháp dựa trên ngắt quảng rất đơn giản, hiệu quả nhưng nếu
lập trình sai thì nguy hiểm khôn lường. Thí dụ nếu ta quên viết lệnh
sti sau khi hoàn thành vùng CS thì process tương ứng sẽ tiếp tục
chạy đến hết chương trình rồi treo máy vì không process nào khác,
kể cả trình lập lịch, có thể chiếm được CPU để chạy.
Hiện nay, chỉ có HĐH mới được phép dùng phương pháp này,
chương trình ứng dụng không được phép dùng.
Hơn nữa, phương pháp dựa trên ngắt chỉ tác động trên 1 CPU, nếu
máy có nhiều CPU thì các CPU khác không bị ảnh hưởng bởi lệnh
cấm ngắt trên 1 CPU nào đó.

Khoa Công nghệ Thông tin
Trường ĐH Bách Khoa Tp.HCM

Môn : Hệ điều hành
Chương 3 : Tương tranh giữa các process
Slide 10

5

Tài liệu cùng danh mục Hệ điều hành

Cách tắt Internet Explorer Enhanced Security

Khi sử dụng Windows Server 2003, có lúc nào các bạn cảm thấy rất phiền toái với tính năng Internet Explorer Enhanced Security không ? Microsoft đưa ra tính năng này cho IE trong các bản Windows Server để nâng cao mức độ bảo mật, nhưng thực chất lại gây phiền phức cho admin hay user sử dụng máy 2003. Vậy có cách nào để turn off tính năng này đi không ?? Để turn off tính năng Internet Explorer Enhanced Security trong Win Server 2K3 các bạn có thể thử một số cách sau:...


office 2010 All-in-One For Dummies phần 2

Kiểm tra của chúng tôi Video • Illustrated • Step-by-Bước Hướng dẫn, mỗi tháng bạn có thể giành chiến thắng giải thưởng có giá trị bằng cách vào chương trình rút thăm trúng thưởng Dummies.com của chúng tôi. * Bạn muốn có một liều hàng tuần của Dummies Đăng ký Tin • Nhiếp ảnh kỹ thuật số • Microsoft


Chapter-21-The Domain Name Service

Ever since the beginning of the ARPAnet, systems have had both names and IP addresses. UNIX systems, as well as many others who have copied the BSD IP implementation, used the file /etc/hosts to convert between names and addresses. This file contains a list of IP addresses and the corresponding host names, one per line.


“Thuần hóa” UAC của Microsoft Windows Vista

Liệu có tính năng nào của Microsoft Windows Vista gây bực tức trên toàn cầu hơn User Account Control, tức UAC viết rút gọn, hay không? Trong điều kiện cần thiết nó vô cùng hữu ích nhưng khi ngược lại nó trở thành sự bất tiện không thể chịu nổi. Giải pháp hấp dẫn ở đây là tắt UAC đi và xem như xong, nhưng đây không phải là giải pháp xác đáng. Sẽ có những lần bạn muốn sự bảo vệ của UAC và có nhiều cách bạn biến UAC thân thiện hơn là xâm chiếm. Hợp tác với...


dummies books series windows vista quick reference phần 3

Phần 1: Kinh nghiệm sử dụng Vista Nếu bạn quyết định bạn không còn muốn có một tiện ích được tự do trôi nổi trên máy tính để bàn, bạn có thể dễ dàng lắp lại nó để Sidebar bằng cách kéo nó vào Sidebar và sau đó thả nó vào vị trí nơi bạn muốn xuất hiện.


Phần mềm tiện ích cho máy tính của bạn – Phần 1

Quản lý mật khẩu với Password Memory 2008 Password Memory là một ứng dụng được thiết kế để quản lý mật khẩu một cách hoàn hảo. Toàn bộ mật khẩu của bạn sẽ được mã hóa bằng nhiều thuật toán khác nhau để đạt được tính bảo mật cao nhất. Chương trình là một giải pháp cho những ai quá bận rộn trong cuộc sống cũng như trong việc ghi nhớ những thông tin chi tiết đăng nhập trên máy tính của mình. Lần đầu tiên sử dụng, chương trình sẽ yêu cầu bạn tạo một cơ sở dữ...


Lecture Operating systems: A concept-based approach: Chapter 4 - Dhananjay M. Dhamdhere

Chapter 4 - Structure of operating systems. This chapter discusses three methods of structuring an operating system. The layered structure of operating systems simplifies coding, the kernel-based structure provides ease of implementation on different computer systems, and the microkernel-based structure permits modification of an operating system’s features to adapt to changes in the computing environment and also provides ease of implementation on different computer systems.


Active WinXP - Biến WinXP có Bản Quyền

Active WinXP - Biến WinXP có Bản Quyền Trong một lần dạo chơi trên net tui tình cờ đọc được cái này, giờ chia sẻ cho các bạn. Tất nhiên là tui đã dùng thử và thấy nó đúng là no.1, chẳng những update được mà còn download được những phần mềm của microsoft hay cài IE7,WMP11 và windows defender... ngon lành


Lecture Operating systems: A concept-based approach (2/e): Chapter 20 - Dhananjay M. Dhamdhere

Chapter 20 - Distributed system security. This chapter discusses authentication and message security measures used in distributed operating systems to thwart such attacks. Methods of verifying authenticity of data are also discussed.


Hướng dẫn sử dụng về Vietkey Linux 2.4 (P1)

Bạn còn nhớ mật khẩu khi cài đặt không, lúc này bạn cần nó để đăng nhập vào hệ thống. Ở mục đăng nhập bạn cho tên tài khoản root, ở mục mật khẩu bạn nhập vào mật khẩu của root. Sau đó chọn Go!.


Tài liệu mới download

VSTEP speaking part 2 sample answers
  • 28/03/2017
  • 89.245
  • 826

Từ khóa được quan tâm

Có thể bạn quan tâm

Sổ Tay Thủ Thuật PC part 46
  • 12/10/2010
  • 55.329
  • 751
1001 thủ thuật máy tính P55
  • 17/03/2010
  • 70.639
  • 965

Bộ sưu tập

Danh mục tài liệu