Bài giảng Hệ điều hành nâng cao
Tại sao cần tìm hiểu Hệ điều hành ?
? Để phá vỡ sự “bí ẩn” của hệ thống :
? Tại sao máy tính có thể “biết” được nội dung đĩa ?
? Tại sao có thể vừa soạn thảo, vừa nghe nhạc trên cùng 1 máy
tính (có 1 CPU ?)
? Tại sao 1 ứng dụng kích thước 1 M có thể hoạt động trên
Windows mà bị báo “Not enough memory” trên DOS ?
? Để khai thác tốt hơn môi trường làm việc :
? Lập trình trên môi trường đa nhiệm (multitask), đa xử
lý(multiprocessing) với các mô hình multiprocess,
multithreads.
? Sử dụng bộ nhớ hiệu quả
? sử dụng các cơ chế Thông tin liên lạc, an toàn & bảo mật
? Vì là môn học bắt buộc
Chức năng của Hệ điều hành
? Quản trị tài nguyên (resource principle) :
? Tài nguyên : CPU, Mem, IO; Files, ports, mailboxes
? Đối tượng sử dụng tài nguyên : Process, Thread
? Nhiệm vụ : Cung cấp các giải thuật cấp phát, quản lý tài
nguyên.cho các đối tượng hoạt động trong hệ thống
? Mục tiêu : Cấp phát đầy đủ, công bằng R cho Ps; Sử dụng
hiệu quả Rs, Nâng cao thông lượng Ps
? Trừu tượng hoá hệ thống (beautification principle)
? Nhiệm vụ : Cung cấp các giải thuật để che dấu chi tiết phần
cứng, tạo 1 môi trường dễ làm việc hơn (hope) cho user
? Mục tiêu : tạo môi trường an toàn, tạo sự trừu tượng hoá,
độc lập thiết bị
? Ví dụ : device driver
Tóm tắt nội dung tài liệu: Bài giảng Hệ điều hành nâng cao
1HỆ ĐIỀU HÀNH NÂNG CAO
Trường đại học Khoa học tự nhiên
Khoa Công nghệ Thông tin
Trần Hạnh Nhi
Simpo PDF Merge and Split Unregistered Version -
2Tổ chức
Phụ trách Lý thuyết :
Trần Hạnh Nhi
Phụ trách thực hành:
Phạm Nguyễn Anh Huy
Trần Anh Tuấn
Lê Thụy Anh
Đinh Bá Tiến
Trang web của môn học :
Simpo PDF Merge and Split Unregistered Version -
3Mục tiêu
Kết quả mong đợi về lý thuyết :
Hiểu được cách thức Hệ điều hành làm việc
Nắm được các nguyên lý thiết kế Hệ điều hành
Biết được một số cơ chế, chiến lược cơ bản để giải
quyết các nhiệm vụ của Hệ điều hành
Kết quả cần đạt được về thực hành
Vận dụng được các kiến thức lý thuyết để cài đặt
giả lặp một số module của Hệ điều hành
Sử dụng được các cơ chế hỗ trợ của một Hệ điều
hành cụ thể (Windows NT) để giải quyết các bài
toán cơ bản.
Simpo PDF Merge and Split Unregistered Version -
4Kiến thức yêu cầu
Kiến trúc Máy tính
Hệ điều hành cơ bản
Lập trình C/C++
Simpo PDF Merge and Split Unregistered Version -
5Tính điểm
70% Lý thuyết + 30% Thực hành
Lý thuyết :
1 bài thi cuối khoá (không tham khảo tài liệu)
Mỗi sinh viên làm bài độc lập
Thực hành: 2 bài tập lớn
Thời hạn và cách thức nộp bài sẽ do giáo viên phụ
trách thực hành qui định
Mỗi nhóm thực hành gồm 2 sinh viên
Bắt buộc có nộp bài thực hành mới được thi lý
thuyết
Simpo PDF Merge and Split Unregistered Version -
6Tài liệu tham khảo
Trần Hạnh Nhi : Giáo trình Hệ điều hành Nâng cao
A.Silberschatz & P/Galvin : OS concepts (5e)
Slides :
W. Stallings : Operating Systems
A.Tanenbaum et al : OS Design and Implementation
Minix :
R.Finkel:: An OS vade mecum
Book online :
Jeffrey Richter : Advanced Windows
Tiến Huy- Đan Thư- Hạnh Nhi : Kỹ thuật lập trình
trên Windows NT
Simpo PDF Merge and Split Unregistered Version -
7Nội dung
Chương 1 : Tổ chức Hệ điều hành
Chương 2 : Quản lý tiến trình
Chương 3 : Liên lạc giữa các tiến trình
Chương 4 : Quản lý bộ nhớ chính
Chương 5 : An toàn hệ thống
Simpo PDF Merge and Split Unregistered Version -
8Bài giảng 1 : Giới thiệu
Tại sao phải tìm hiểu về Hệ điều hành ?
Hệ điều hành là gì ?
Vai trò trong hệ thống ?
Chức năng ?
Kiến trúc ?
Các nguyên lý thiết kế Hệ điều hành
Simpo PDF Merge and Split Unregistered Version -
9Tại sao cần tìm hiểu Hệ điều hành ?
Để phá vỡ sự “bí ẩn” của hệ thống :
Tại sao máy tính có thể “biết” được nội dung đĩa ?
Tại sao có thể vừa soạn thảo, vừa nghe nhạc trên cùng 1 máy
tính (có 1 CPU ?)
Tại sao 1 ứng dụng kích thước 1 M có thể hoạt động trên
Windows mà bị báo “Not enough memory” trên DOS ?
Để khai thác tốt hơn môi trường làm việc :
Lập trình trên môi trường đa nhiệm (multitask), đa xử
lý(multiprocessing) với các mô hình multiprocess,
multithreads..
Sử dụng bộ nhớ hiệu quả
sử dụng các cơ chế Thông tin liên lạc, an toàn & bảo mật
Vì là môn học bắt buộc
Simpo PDF Merge and Split Unregistered Version -
10
Hệ điều hành, anh là ai ?
Ưùng dụng
Hệ điều hành
Phần cứng
Giao diện ảo
Giao diện vật lý
Simpo PDF Merge and Split Unregistered Version -
11
Chức năng của Hệ điều hành
Quản trị tài nguyên (resource principle) :
Tài nguyên : CPU, Mem, IO; Files, ports, mailboxes
Đối tượng sử dụng tài nguyên : Process, Thread
Nhiệm vụ : Cung cấp các giải thuật cấp phát, quản lý tài
nguyên.cho các đối tượng hoạt động trong hệ thống
Mục tiêu : Cấp phát đầy đủ, công bằng R cho Ps; Sử dụng
hiệu quả Rs, Nâng cao thông lượng Ps
Trừu tượng hoá hệ thống (beautification principle)
Nhiệm vụ : Cung cấp các giải thuật để che dấu chi tiết phần
cứng, tạo 1 môi trường dễ làm việc hơn (hope) cho user
Mục tiêu : tạo môi trường an toàn, tạo sự trừu tượng hoá,
độc lập thiết bị
Ví dụ : device driver
Simpo PDF Merge and Split Unregistered Version -
12
Các thành phần
Quản lý tiến trình
Quản lý bộ nhớ chính
Quản lý nhậäp xuất
Quản lý bộ nhớ phụ
Hệ thống tập tin
Hệ thống bảo vệ
Giao tiếp mạngBộ thông dịch lệnh
Simpo PDF Merge and Split Unregistered Version -
13
Kiến trúc Hệ điều hành
Đơn giản (Monolithic)
Hạt nhân (Kernel)
Phân lớp (Layered)
Máy ảo (Virtual Machine)
Hướng đối tượng (OOOS)
Exokernel
Simpo PDF Merge and Split Unregistered Version -
14
Monolithic
Simpo PDF Merge and Split Unregistered Version -
15
Monolithic
OS = Thư viện tiện ích
Có thể tổ chức thành nhiều module : CPU
scheduling, Mem Management, Device
managementnhưng chỉ có 1 trong những
module này hoạt động tại một thời điểm
Đơn nhiệm
Quyền điều khiển được chuyển đổi thông qua
lời gọi hàm
Khi tầm vóc phát triển hệ thống trở nên
thiếu tin cậy.
Ví dụ : MS-DOS, Ultrix (mature Unix)
Simpo PDF Merge and Split Unregistered Version -
16
Kernel
Simpo PDF Merge and Split Unregistered Version -
17
Kernel
OS = Kernel + System processes
Kernel được bảo vệ
Đa nhiệm
Kernel chịu trách nhiệm phân chia thời gian
sử dụng CPU, Giao tiếp giữa các tiến trình
Chỉ có 2 mức kernel/non-kernel =>kernel lớn,
thiếu tin cậy như trước
Định nghĩa cứng các giao tiếp với ứng dụng
trong kernel
Ví dụ : Windows NT
Simpo PDF Merge and Split Unregistered Version -
18
Layered
Simpo PDF Merge and Split Unregistered Version -
19
Layered
OS = các lớp trừu tượng hoá một tác vụ quản
lý
Lớp trên được sử dụng các hàm xử lýù tài
nguyên thuộc tác vụ do lớp dưới cung cấp
Khó xác định được các lớp xử lý rạch ròi, thứ
tự lớp ?
Tạo tiến trình -> PM gọi MM
Bộ nhớ đầy -> MM gọi PM
Xếp lớp theo hàm xử lý , thay vì tác vụ
Seg management- P scheduling- Seg creation- P
creation
Ví dụ : THE , MULTICS
Simpo PDF Merge and Split Unregistered Version -
20
Virtual Machine
Simpo PDF Merge and Split Unregistered Version -
21
Virtual Machine
OS = Virtualizing kernel + virtual machines
Virtual machine = physical hardware
Virtualizing kernel tạo ra nhiều VM trên 1 máy tính.
Process interface = hardware interface
Ưu điểm :
Môi trường thuận lợi cho sự tương thích (compatibility)
Tăng tính an toàn hệ thống do cung cấp các VM độc lập.
Dể phát triển các HDH đơn nhiệm cho mỗi VM
Khuyết điểm:
Phức tạp cho việc giả lặp (transput, add translation)
Ví dụ : CMS(conversational Monitor System) trên
VM/370 (hỗ trợ hardware)
Simpo PDF Merge and Split Unregistered Version -
22
OOOS
OS = tập các đối tượng
Tiến trình, tập tin, hàm, khối nhớ
Một hàm xử lý (kernel/non-kernel mode)
thao tác trên một tập các đối tượng.
Che dấu thông tin
Ví dụ :CAP, StarOS, iMAX432
Simpo PDF Merge and Split Unregistered Version -
23
Exokernel
Simpo PDF Merge and Split Unregistered Version -
24
Exokernel
Hướng đến một HDH linh đông trong giao
tiếp với ứng dụng, cho phép ứng dụng chuyên
biệt hoá hệ điều hành theo nhu cầu đặc thù
một cách dễ dàng
OS = Exokernel + Library OS
Ưùng dụng có thể phát triển các mô hình tổ
chức VM, IPC theo nhu cầu riêng
Ví dụ : ý tưởng của project do Dawson R
Engler et al phát triển tại MIT
Simpo PDF Merge and Split Unregistered Version -
1Bài 2 : CÁC MÔ HÌNH XỬ LÝ ĐỒNG
HÀNH
XỬ LÝ ĐỒNG HÀNHVÌ SAO ?
VẤN ĐỀ
?
Simpo PDF Merge and Split Unregistered Version -
2Xử lý đồng hành, để tăng hiệu suất sử dụng
CPU
CPU IO CPU IO
CPU
Job 1 Job 1
IO CPU IOCPU
Job 1
CPU IO CPU
Job 2
CPU Job 1 Job 1Job 1 Job 1
Simpo PDF Merge and Split Unregistered Version -
3Xử lý đồng hành, để tăng tốc độ xử lý
Job : kq = a*b + c*d;
Xử lý tuần tự :
Xử lý đồng hành :
kq1 = a * b;
kq2 = c* d;
kq = kq1 + kq2;
kq = kq1 + kq2;
kq2 = c*d;kq1 = a*b;
Simpo PDF Merge and Split Unregistered Version -
4Xử lý đồng hành, những khó khăn ?
HĐH : “ Giải quyết nhiều công việc
đồng thời, đâu có dễ !
- Tài nguyên
giới hạn, ứng
dụng “vô hạn”
- Nhiều hoạt
động đan xen
??? Phân chia
tài nguyên ?
??? Chia sẻ tài
nguyên ?
??? Bảo vệ?
Excel
Visual C++
CDplayer
Winword
Simpo PDF Merge and Split Unregistered Version -
5Giải pháp
HĐH : “ Ai cũng có phần khi đến lượt
mà ! ”
-“Chia để
trị”, cô lập
các hoạt động.
- Mỗi thời
điểm chỉ giải
quyết 1 yêu
cầu.
- Aûo hoá tài
nguyên : biến
ít thành nhiều
Winword
CDPlayer
Visual C ++
Excel
Simpo PDF Merge and Split Unregistered Version -
6Thuật ngữ
Concurrency (đồng hành): mô hình xử lý
nhiều tác vụ đồng thời.
Multitasking (đa nhiệm) : cho phép nhiều tác
vụ/ công việc được xử lý đồng thời
Multiprogramming (đa chương) : cho phép
nhiều chương trình được thực hiện đồng thời
(trên 1 CPU)
Multiprocessing (đa xử lý): nhiều bộ xử lý làm
việc đồng thời
Simpo PDF Merge and Split Unregistered Version -
7Khái niệm tiến trình
P2
int a;
IP
P1
int a;
IP
Simpo PDF Merge and Split Unregistered Version -
8Mô hình đa tiến trình (MultiProcesses)
Hệ thống là một tập các tiến trình hoạt động đồng
thời
Các tiến trình độc lập với nhau => không có sự trao
đổi thông tin hiển nhiên..
winword
Visual C
CDplayer
Excel
OS
Simpo PDF Merge and Split Unregistered Version -
9Mô hình đa tiểu trình (MultiThreads)
Muốn nhiều dòng xử lý đồng thời cùng chia sẻ tài
nguyên (server, OS, các chương trình tính toán song
song)
alta vista
TIỂU TRÌNH (THREAD)
Simpo PDF Merge and Split Unregistered Version -
10
Khác biệt giữa Tiểu trình & Tiến trình
Tiểu trình : 1 dòng xử
lý
Tiến trình :
1 không gian địa chỉ
1 hoặc nhiều tiểu trình
Các tiến trình là độc
lập
Các tiểu trình trong
cùng 1
tiến trình không có sự
bảo vệ
lẫn nhau (cần thiết ? ).
P1
int a;
T1 T2 T
3
Simpo PDF Merge and Split Unregistered Version -
11
Tiểu trình hạt nhân (Kernel thread)
Khái niệm tiểu trình được xây dựng bên trong
hạt nhân
T1 T2
HDH
System call
User mode
Kernel mode
Simpo PDF Merge and Split Unregistered Version -
12
Tiểu trình người dùng (User thread)
Khái niệm tiểu trình được hỗ trợ bởi một thư
viện hoạt động trong user mode
T1
Kernel
T2
User
mode
Kernel
mode
T3
LWP1 LWP2
P1 P2
Simpo PDF Merge and Split Unregistered Version -
1Bài 3 : QUẢN LÝ TIẾN TRÌNH
Phân chia CPU cho các tiến trình ?
Tiếp cận
Mục tiêu ?
Tổ chức ?
Chiến lược ?
Trạng thái tiến trình ?
Lưu trữ thông tin tiến trình ?
Các thao tác trên tiến trình ?
Bảo vệ tiến trình ?
Trao đổi thông tin giữa các tiến trình ?
Simpo PDF Merge and Split Unregistered Version -
2Phân chia CPU ?
1 CPU vật lý : làm
thế nào để tạo ảo
giác mỗi tiến trình sở
hữu CPU riêng của
mình ?
Dispatcher luân
chuyển CPU giữa các
tiến trình:
Ngữ cảnh xử lý riêng
biệt cho mỗi tiến
trình (PCB)
Dispatching loop :
CPU
while(1)
{
interrupt Pcur
save state Pcur
Scheduler gets Pnext
load state Pnext
jump to it
}
Simpo PDF Merge and Split Unregistered Version -
3Trạng thái tiến trình ?
ready
Rs
CPU
running
Rs
CPU
blocked
Rs
CPU
Nhận CPU
Trả CPU
Chờ R
Nhận R
Simpo PDF Merge and Split Unregistered Version -
4Khối quản lý tiến trình trong mô hình
multiprocesses
pid
State
(State, details)
Context
(IP, Mem, Files)
Scheduling statistic
Relatives
( Dad, children)
Process control Block
PCB
Simpo PDF Merge and Split Unregistered Version -
5PCB và TCB trong mô hình multithreads
pid
Threads list
Context
(Mem, global
ressources)
Scheduling statistic
Relatives
( Dad, children)
PCB
tid
State
(State, details)
Context
(IP, local stack)
Thread Control Block
TCB
Simpo PDF Merge and Split Unregistered Version -
6Các thao tác trên tiến trình
Tạo lập tiến trình :
Cấp phát tài nguyên cho tiến trình con ?
Hoạt động của cha và con độc lập
Kết thúc tiến trình :
Thu hồi tài nguyên ?
Eùp buộc kết thúc ?
Thay đổi trạng thái tiến trình :
Assign(), Block(), Awake(), Resume(),
Suspend()
Simpo PDF Merge and Split Unregistered Version -
7Trạng thái tiến trình ?
Có nhu cầu Suspend &Resume :
Hệ thống quá tải
Kiểm soát hoạt động của tiến trình con
Simpo PDF Merge and Split Unregistered Version -
8An ninh trật tự cho môi trường đa tiến trình !
Bảo vệ tiến trình :
Ngăn cản các tiến trình xâm phạm tài nguyên, can
thiệp vàoxử lý của nhau => KGĐC riêng biệt, 2
mode xử lý
Bảo đảm quyền tiến triển xử lý cho mỗi tiến trình
=> công bằng trong các chiến lược phân phối tài
nguyên.
Trao đổi thông tin , phối hợp hoạt động ?
Nhu cầu ?
Vấn đề ? => Chương kế tiếp
Giải pháp ?
Simpo PDF Merge and Split Unregistered Version -
9Các danh sách tiến trình
Ready List P1 P4 P5
Waiting Lists
R1 P7P2
P10P3
P6
R1
R1
Simpo PDF Merge and Split Unregistered Version -
10
Điều phối tiến trình
Mục tiêu ?
Các cấp độ điều phối
Thời điểm ra quyết định điều phối ?
Đánh giá chiến lược điều phối ?
Một số chiến lược điều phối
Simpo PDF Merge and Split Unregistered Version -
11
Điều phối tiến trình
SCHEDULER
chọn một tiến trình
nhận cpu
DISPATCH
ER
chuyển đổi ngữ
cảnh
Simpo PDF Merge and Split Unregistered Version -
12
Chuyển đổi ngữ cảnh (context switching)
Kịch bản :
Lưu ngữ cảnh tiến trình hiện hành
Nạp ngữ cảnh tiến trình được chọn kế tiếp
Chi tiết cụ thể phụ thuộc vào phần cứng
general-purpose & floating point registers, co-
processor state
Chi phí chuyển đổi ngữ cảnh :
Giữa các tiến trình ?
Giữa các tiểu trình ?
Simpo PDF Merge and Split Unregistered Version -
13
Chuyển đổi ngữ cảnh giữa các tiến trình
Chuyển đổi mode xử lý
Chuyển đổi IP và các thanh ghi khác của
CPU
Chuyển đổi không gian địa chỉ
P1 P2
Dispatcher
System call
User mode
Kernel mode
Simpo PDF Merge and Split Unregistered Version -
14
Tiểu trình hạt nhân (Kernel thread)
Khái niệm tiểu trình được xây dựng bên trong
hạt nhân
Distpatcher làm việc với đơn vị là tiểu trình
T1 T2
Dispatcher
System call
User mode
Kernel mode
Simpo PDF Merge and Split Unregistered Version -
15
Tiểu trình người dùng (User thread)
Khái niệm tiểu trình được
hỗ trợ bởi một thư viện hoạt
động trong user mode
Distpatcher của hạt nhân
làm việc với đơn vị là tiến
trình
ThreadDistpatcher làm việc
với đơn vị là tiểu trình
P -– LWP - T
Không cần chuyển đổi chế
độ xử lý khi chuyển đổi các
tiểu trình cùng thuộc 1 tiến
trình.
T1
Kernel
T2
User
mode
Kernel
mode
T3
LWP1 LWP2
P1 P2
Simpo PDF Merge and Split Unregistered Version -
16
Lựa chọn tiến trình ?
Tác vụ của Scheduler
Mục tiêu ?
Sử dụng CPU hiệu quả
Đảm bảo tất cả các tiến trình đều tiến triển xử lý
Tiêu chuẩn lựa chọn ?
Tất cả các tiến trình đều như nhau ?
Đề xuất một độ ưu tiên cho mỗi tiến trình ?
Thời điểm lựa chọn ? (Thời điểm kích hoạt
Scheduler())
Simpo PDF Merge and Split Unregistered Version -
17
Mục tiêu điều phối
Hiệu qủa (Efficiency)
Thời gian
Đáùp ứng (Response time)
Hoàn tất(Turnaround Time = Tquit -Tarrive):
Chờ (Waiting Time = T in Ready ) :
Thông lượng (Throughput = # jobs/s )
Hiệu suất Tài nguyên
Chi phí chuyển đổi
Công bằng ( Fairness) : Tất cả các tiến trình
đều có cơ hội nhận CPU
Simpo PDF Merge and Split Unregistered Version -
18
Các cấp độ điều phối
Longterm scheduling :
chọn tiến trình kế tiếp
được khởi động (mang vao
bộ nhớ và nhận trạng thái
ready)
Mediumterm scheduling :
quyết định chuyển tiến
trình đang running sang
trạng thái blocked.
Shorterm scheduling :
chọn 1 tiến trình ở trạng
thái ready để chuyển sang
trạng thái running.
Không có sự phân biệt rõ
ràng hoàn toàn giữa 3 cấp
Simpo PDF Merge and Split Unregistered Version -
19
Thời điểm ra quyết định điều phối
Điều phối độc quyền (non-preemptive
scheduling): tiến trình được chọn độc chiếm
CPU
Điều phối không độc quyền (preemptive
scheduling): tiến trình được chọn có thể bị
« cướp » CPU bởi tiến trình có độ ưu tiên
cao hơn
Simpo PDF Merge and Split Unregistered Version -
20
Các chiến lược điều phối
FIFO
RR
SJF
MULTILEVELFEEDBACK
LOTTERY
Simpo PDF Merge and Split Unregistered Version -
21
FIFO – RR -SJF
FIFO
RR
SJF
addrun
run
add
Simpo PDF Merge and Split Unregistered Version -
22
Multilevel Feedback
priority
Simpo PDF Merge and Split Unregistered Version -
23
Lottery
1 11 1
P1 P2 P3 P4
1 17 1
P1 P2 P3 P4
P2 có 25 % cơ hội
P2 có 70 % cơ hội
Simpo PDF Merge and Split Unregistered Version -
1BÀI 4 : LIÊN LẠC GIỮA CÁC TIẾN
TRÌNH
& VẤN ĐỀ ĐỒNG BỘ HOÁ
CƠ CHẾ ?
VẤN ĐỀ
?
TRAO ĐỔI THÔNG TIN GIỮA CÁC TIẾN TRÌNH
GỈAI
PHÁP ?
Simpo PDF Merge and Split Unregistered Version -
2Nhu Cầu Liên Lạc
Q
Lp
Chia sẻ thông tin
R
Phối hợp tăng tốc độ xử lý
Q
L
p
JOB
Simpo PDF Merge and Split Unregistered Version -
3Các Cơ Chế Liên Lạc
Signal
Không truyền được dữ liệu
Pipe
Truyền dữ liệu không cấu trúc
Shared Memory
Broadcast
Mâu thuẫn truy xuất => nhu cầu đồng bộ hoá
Message
Liên lạc trên môi trường phân tán
Socket
Liên lạc trên nhiều môi trường khác biệt
Simpo PDF Merge and Split Unregistered Version -
4Race condition
hits = 0 + 1
read hits (0)
hits = 0 + 1
read hits (0)
P1 P2
hits = 1
hits = 0
time
Kết quả cuối cùng không dự đoán được !
P1 và P2 chia sẻ biến chung hits
Simpo PDF Merge and Split Unregistered Version -
5Miền găng (critical section)
hits = 0 + 1
read hits (0)
hits = 0 + 1
read hits (0)
P1 P2
CSCS
CS là đoạn chương trình có khả năng gây ra hiện
tượng race condition
Simpo PDF Merge and Split Unregistered Version -
6Giải pháp tổng quát
Bảo đảm tính “độc quyền truy xuất” miền găng
tại một thời điểm
hits = hits + 1
P1 P2
hits = 2
hits = 0
time
hits = hits + 1
Simpo PDF Merge and Split Unregistered Version -
7Mô hình đảm bảo độc quyền truy xuất
Kiểm tra và dành quyền vào CS
CS;
Từ bỏ quyền sử dụng CS
Simpo PDF Merge and Split Unregistered Version -
8Rendez-Vous
Làm thế nào bảo đảm trình tự thực hiện Job1 -
Job2 ?
P1 P2
Job1;
Job2;
Simpo PDF Merge and Split Unregistered Version -
9Giải pháp
Hai tiến trình cần trao đổi thông tin về diễn tiến
xử lý
P1 P2
Job1;
Job2;
Simpo PDF Merge and Split Unregistered Version -
10
Mô hình tổ chức phối hợp hoạt động giữa hài
tiến trình
P1 P2
Job1; Chờ ;Báo
hiệu ; Job2;
Simpo PDF Merge and Split Unregistered Version -
11
Bài toán đồng bộ hoá
Nhiều tiến trình chia sẻ tài nguyên
chung đồng thời :
Tranh chấp ?
Nhu cầu “độc quyền truy xuất” (mutual
exclusion)
Các tiến trình phối hợp hoạt động :
Tương quan diễn tiến xử lý ?
Nhu cầu “hò hẹn” (rendez-vous)
Simpo PDF Merge and Split Unregistered Version -
File đính kèm:
bai_giang_he_dieu_hanh_nang_cao.pdf

