1
Câu 1: Chức năng, nhiệm vụ của hệ
điều hành. Phân loại hệ điều hành
Định nghĩa
- Hệ Điều Hành là hệ chương trình hoạt động
giữa người sử dụng và phần cứng thiết bị
của máy tính.
- Hệ Điều Hành giúp thi hành các chương
trình, làm cho máy tính dễ sử dụng và hiệu
quả hơn.
2
I. Khái niệm về HĐH
Các thành phần của một hệ thống máy tính
- Phần cứng: CPU, bộ nhớ, các thiết bị nhập xuất,
… cung cấp các tài nguyên tính toán cơ bản cho
hệ thống.
- Hệ Điều Hành: điều khiển và phối hợp việc sử
dụng phần cứng cho những ứng dụng khác nhau
của nhiều người sử dụng khác nhau.
- Các chương trình ứng dụng: chương trình dịch,
hệ thống cơ sở dữ liệu, các trò chơi, và các ứng
dụng thương mại. Xác định tài nguyên nào được
sử dụng cho các vấn đề tính toán của người sử
dụng.
- Người sử dụng:
3
Các chương trình ứng dụng
Hệ Điều Hành
Phần cứng
Người
sử dụng 1
Hệ thống xử lý theo lô (batch)
•
Hệ thống xử lý đa chương (multiprogram)
•
Hệ thống xử lý đa nhiệm (multitasking)
•
Hệ thống đa xử lý (hệ thống xử lý song
song)
•
Hệ thống xử lý phân tán
•
Hệ thống xử lý thời gian thực ‘
•
Hệ thống nhúng
6
Hệ thống xử lý theo lô (batch)
•
Tại một thời điểm có một công việc trong
bộ nhớ. Khi thực hiện xong một công việc,
công việc khác sẽ được tự động nạp vào
và cho thực thi. Có một chương trình, gọi
là bộ giám sát, giám sát việc thực hiện
dãy các công việc một cách tự động,
chương trình này luôn luôn thường trú
trong bộ nhớ chính và chính là Hệ Điều
Hành thô sơ nhất. VD: DOS
7
Hệ thống xử lý đa chương
(multiprogram)
•
+ Hệ thống đa xử lý bất đối xứng: có một bộ xử lý chính kiểm
soát, lập lịch cho các bộ xử lý khác.
Vấn đề của đa xử lý là gì?
10
Hệ thống xử lý phân tán
Tương tự như hệ thống đa xử lý nhưng mỗi bộ xử lý có bộ
nhớ cục bộ riêng. Các bộ xử lý liên lạc với nhau thông
qua các đường truyền dữ liệu. Mạng LAN, WAN là hệ
xử lý phân tán.
- Ưu điểm:
+ Chia sẻ tài nguyên: máy in, tập tin …
+ Tăng tốc độ tính toán: phân chia công việc để tính toán
trên nhiều vị trí khác nhau.
+ An toàn: Nếu một vị trí bị hỏng, các vị trí khác vẫn tiếp
tục làm việc.
+ Truyền thông tin dễ dàng: download/upload file, gởi/nhận
mail, …
11
Hệ thống xử lý thời gian thực
- Hệ thống phải cho kết quả chính xác trong
khoảng thời gian nhanh nhất.
- Có hai loại:
+ Hệ thống thời gian thực cứng: công việc
được hoàn tất đúng lúc.
+ Hệ thống thời gian thực mềm: mỗi công
việc có một độ ưu tiên riêng và sẽ được
thi hành theo độ ưu tiên.
12
III. Các chức năng của Hệ Điều
Hành
theo cần thực hiện.
14
Tiểu trình (thread)
•
Một tiến trình có thể chạy trong một tiểu trình (thread)
đơn hoặc tạo nhiều tiểu trình, mỗi tiểu trình thực hiện
một chức năng nào đó và thực thi đồng thời cũng bằng
cách chia sẻ CPU. Các tiểu trình trong cùng một tiến
trình dùng chung không gian địa chỉ tiến trình nhưng có
con trỏ lệnh, tập các thanh ghi và stack riêng. Một tiểu
trình cũng có thể tạo lập các tiến trình con, và nhận các
trạng thái khác nhau như một tiến trình.
•
Các tiến trình chỉ có thể liên lạc với nhau thông qua các
cơ chế do Hệ Điều Hành cung cấp. Các tiểu trình liên lạc
với nhau dễ dàng thông qua các biến toàn cục của tiến
trình.
15
Process #1
Process #1
Bộ nhớ cục
bộ
Bộ nhớ cục
bộ
Process #2
Process #2
Bộ nhớ cục
bộ
Bộ nhớ cục
bộ
Thread
#3
Thread
#3
Biến cục
bộ
Biến cục
bộ
Bộ nhớ cục
bộ
Bộ nhớ cục
bộ
Process #3
Process #3
Multithreading
Paradigm
Process #1
Process #1
Process #2
Process #2
Hệ điều hành
Hệ điều hành
17
Câu 3: Quản lý tiến trình: Các trạng thái
và chế độ xử lý tiến trình
Khi một tiến trình thực hiện, nó thay đổi trạng thái.
Tại một thời điểm, một tiến trình có thể nhận
trong một các trạng thái sau đây:
+ New tiến trình mới được tạo.
+ Running các chỉ thị của tiến trình đang thực thi.
20
Chế độ xử lý của tiến trình
•
Tập lệnh của CPU được phân chia thành các lệnh đặc quyền
(lệnh có nguy cơ ảnh hưởng đến hệ thống) và lệnh không đặc
quyền. Phần cứng chỉ cho phép các lệnh đặc quyền được
thực hiện trong chế độ đặc quyền. Thông thường chỉ có Hệ
Điều Hành hoạt động trong chế độ đặc quyền, các tiến trình
của người dùng hoạt động trong chế độ không đặc quyền,
không thực hiện được các lệnh đặc quyền có nguy cơ ảnh
hưởng đến hệ thống.
•
Khi một tiến trình người dùng gọi đến một lời gọi hệ thống,
tiến trình của Hệ Điều Hành xử lý lời gọi này sẽ hoạt động
trong chế độ đặc quyền, sau khi hoàn tất thì trả quyền điều
khiển về cho tiến trình người dùng trong chế độ không đặc
quyền.
21
* Câu 4: Quản lý tiến trình: Cấu trúc dữ liệu khối quản lý tiến trình và
Thao tác trên tiến trình
Điều Hành quản lý các tiến trình trong hệ thống thông qua khối quản lý tiến trình
(Process Control Block – PCB, còn gọi là Task Control Block). PCB là một vùng
nhớ lưu trữ các thông tin mô tả cho một tiến trình chỉ định, với 05 thành phần
chủ yếu bao gồm:
•
Định danh của tiến trình (1) giúp phân biệt các tiến trình.
•
Trạng thái tiến trình (2) xác định hoạt động hiện hành của tiến trình (new,
ready, running, waiting, …).
•
status
CPU-state-rec
processor
main store
resource
created resource
parent
progeny
priority
CPU time
RCB1 RCB2
RCB1 RCB2
PCB
PCB1 PCB2
Unit1 Unit2
PCB3
23
5 thao tác của HĐH trên tiến trình
•
Hệ Điều Hành cung cấp các thao tác chủ
yếu sau đây trên một tiến trình:
+ Tạo lập tiến trình (process creation)
+ Kết thúc tiến trình (process termination)
+ Tạm dừng tiến trình (process suspension)
•
Thời gian đáp ứng hợp lý (Response time) :
–
Cực tiểu hoá thời gian hồi đáp cho các tương tác của
người sử dụng
•
Thời gian lưu lại trong hệ thống ( Turnaround Time) :
–
Cực tiểu hóa thời gian hoàn tất các tác vụ xử lý theo lô.
•
Thông lượng tối đa (Throughput ) :
–
Cực đại hóa số công việc được xử lý trong một đơn vị
thời gian.