34 slide 1
NGUYÊN LÝ HỆ
ĐIỀU HÀNH
Giảng viên: Nguyễn Vũ Quốc Hưng
Giảng viên: Nguyễn Vũ Quốc Hưng
Khoa Công nghệ Thông tin – ĐHSP Hà nội
Khoa Công nghệ Thông tin – ĐHSP Hà nội
Email:
Email:
34 slide 2
Những mục tiêu chính:
Cung cấp cho sinh viên:
Cung cấp cho sinh viên:
Khái niệm cơ bản và nguyên lý của các
Khái niệm cơ bản và nguyên lý của các
Hệ điều hành
Hệ điều hành
Các phương pháp giải quyết các vấn đề
Các phương pháp giải quyết các vấn đề
nảy sinh
nảy sinh
Xem xét một số Hệ điều hành nổi tiếng:
Xem xét một số Hệ điều hành nổi tiếng:
Linux, Windows,…
Linux, Windows,…
34 slide 3
Các kiến thức cần thiết
Kiến trúc máy tính và Cấu trúc máy tính
Kiến trúc máy tính và Cấu trúc máy tính
Cấu trúc dữ liệu và Giải thuật
Cấu trúc dữ liệu và Giải thuật
Ngôn ngữ lập trình: Pascal, C,…
Ngôn ngữ lập trình: Pascal, C,…
…
…
34 slide 4
Tài liệu tham khảo
A. Silberschatz, G
A. Silberschatz, G
.
.
Gagne,
Gagne,
and
and
P.B. Galvin
P.B. Galvin
,
,
“
“
Operating
Operating
System Concepts
System Concepts
”, Addison Wesley
”, Addison Wesley
A.S. Tanenbaum
A.S. Tanenbaum
, “Modern Operating Systems”
, “Modern Operating Systems”
, Prentice
, Prentice
Hall, 1992
Hall, 1992
Bill McCarty,
Bill McCarty,
“Learning
“Learning
Redhat
Redhat
Linux 3
Linux 3
rd
rd
Edition”
Edition”
, O’Reilly,
, O’Reilly,
2003
2003
D.P. Bovet, M. Cesati,
D.P. Bovet, M. Cesati,
“Understanding Linux Kernel”,
“Understanding Linux Kernel”,
O’Reilly,2000
O’Reilly,2000
J.S. Gray,
J.S. Gray,
“
“
Interprocess
Interprocess
Communications in Linux: The Nooks and Crannies”
Communications in Linux: The Nooks and Crannies”
,
,
Prentice Hall, 2003
Prentice Hall, 2003
A. Rubini, J. Corbet,
A. Rubini, J. Corbet,
“Linux Device Drivers 2
“Linux Device Drivers 2
nd
nd
Edition”
Edition”
,
,
O’Reilly
O’Reilly
N.T.N. Hương,
N.T.N. Hương,
“Hệ điều hành”, NXB Bưu điện, 2004
“Hệ điều hành”, NXB Bưu điện, 2004
…
…
34 slide 5
Phân phối, Bài tập và Kiểm tra
Phân phối thời gian
Phân phối thời gian
75% dành cho giảng bài
75% dành cho giảng bài
25% dành cho các bài tập lớn
25% dành cho các bài tập lớn
Thi hết học phần
Thi hết học phần
Thi vấn đáp
Thi vấn đáp
Điểm đánh giá.
Điểm đánh giá.
Bài tập lớn: lấy điểm kiểm tra giữa kì
Bài tập lớn: lấy điểm kiểm tra giữa kì
Kiểm tra: theo quy chế
Kiểm tra: theo quy chế
34 slide 6
Nội dung
Chương 1: Dẫn nhập
Chương 1: Dẫn nhập
Chương 2: Quản lý tiến trình
Chương 2: Quản lý tiến trình
Chương 3: Quản lý bộ nhớ
Chương 3: Quản lý bộ nhớ
Chương 4: Quản lý hệ thống file
Chương 4: Quản lý hệ thống file
Chương 5: Bài toán DeadLock
Chương 5: Bài toán DeadLock
Chương 6: Bài toán miền găng
Chương 6: Bài toán miền găng
34 slide 7
Chương 1
DẪN NHẬP
Khái niệm và Định nghĩa
Khái niệm và Định nghĩa
Lịch sử OS
Lịch sử OS
Tổ chức hệ thống máy tính
Tổ chức hệ thống máy tính
Các thành phần của OS
Các thành phần của OS
Các dịch vụ của OS
Các dịch vụ của OS
Cấu trúc của OS
Cấu trúc của OS
34 slide 8
1. Định nghĩa và các khái niệm
Định nghĩa hệ điều hành (Operating System)
Định nghĩa hệ điều hành (Operating System)
OS là phần mềm hoạt động ở lớp trung gian
OS là phần mềm hoạt động ở lớp trung gian
giữa người sử dụng máy tính và phần cứng.
giữa người sử dụng máy tính và phần cứng.
Mục tiêu của OS là làm cho người sử dụng:
Mục tiêu của OS là làm cho người sử dụng:
Thực thi dễ dàng các ứng dụng của mình
Thực thi dễ dàng các ứng dụng của mình
Thao tác điều khiển máy tính trở nên
Thao tác điều khiển máy tính trở nên
thuận tiện.
thuận tiện.
Khai thác phần cứng máy tính một cách
Khai thác phần cứng máy tính một cách
có hiệu quả
có hiệu quả
34 slide 9
Hệ thống làm việc của máy tính bao gồm 4 thành
Hệ thống làm việc của máy tính bao gồm 4 thành
phần
phần
:
:
Phần cứng (Hardware) – cung cấp các tài nguyên cơ
Phần cứng (Hardware) – cung cấp các tài nguyên cơ
bản
bản
CPU, memory, I/O devices
CPU, memory, I/O devices
Hệ điều hành (OS - Operating system)
Hệ điều hành (OS - Operating system)
Trung gian điều khiển và bố trí việc sử dụng phần
Trung gian điều khiển và bố trí việc sử dụng phần
cứng cho các ứng dụng và đối tượng sử dụng
cứng cho các ứng dụng và đối tượng sử dụng
Các chương trình ứng dụng (Application programs) –
Các chương trình ứng dụng (Application programs) –
Các phần mềm phục vụ tác nghiệp của người sử dụng.
Các phần mềm phục vụ tác nghiệp của người sử dụng.
Word processors, compilers, web browsers,
Word processors, compilers, web browsers,
database systems, video games
database systems, video games
Đối tượng sử dụng (Users):
Đối tượng sử dụng (Users):
Người, thiết bị hoặc máy tính khác
Người, thiết bị hoặc máy tính khác
34 slide 10
4 lớp của hệ thống làm việc
của máy tính
34 slide 11
Các định nghĩa khác
OS là tài nguyên:
OS là tài nguyên:
Quản lý tất cả các tài nguyên khác
Quản lý tất cả các tài nguyên khác
Làm trung gian giữa những mâu thuẫn về hiệu năng của
Làm trung gian giữa những mâu thuẫn về hiệu năng của
tài nguyên và sự sử dụng chúng một cách thuận tiện
tài nguyên và sự sử dụng chúng một cách thuận tiện
OS là chương trình điều khiển
OS là chương trình điều khiển
Điều khiển sự thực hiện các chương trình, ngăn ngừa
Điều khiển sự thực hiện các chương trình, ngăn ngừa
lỗi và sự sử dụng không thích hợp
lỗi và sự sử dụng không thích hợp
“
“
Chương trình chạy trong toàn bộ thời gian hoạt động của
Chương trình chạy trong toàn bộ thời gian hoạt động của
máy tính” đó chính là
máy tính” đó chính là
kernel.
kernel.
Mọi chương trình khác là
Mọi chương trình khác là
chương trình hệ thống hoặc chương trình ứng dụng
chương trình hệ thống hoặc chương trình ứng dụng
34 slide 12
2. Phân loại OS theo nguyên lý
điều khiển
Hệ thống khung lớn (Mainframe Systems)
Hệ thống khung lớn (Mainframe Systems)
Hệ thống để bàn (Desktop Systems)
Hệ thống để bàn (Desktop Systems)
Hệ thống đa bộ xử lý
Hệ thống đa bộ xử lý
(Multiprocessor Systems)
(Multiprocessor Systems)
Hệ thống phân tán (Distributed Systems)
Hệ thống phân tán (Distributed Systems)
Hệ thống bó (Clustered Systems)
Hệ thống bó (Clustered Systems)
Hệ thống thời gian thực (Real – Time Systems)
Hệ thống thời gian thực (Real – Time Systems)
Hệ thống cầm tay (Handheld Systems)
Hệ thống cầm tay (Handheld Systems)
Môi trường tính toán
Môi trường tính toán
(Computing Environments)
(Computing Environments)
34 slide 13
2.1 Mainframe Systems
a) Nguyên lý điều khiển theo lô đơn giản
a) Nguyên lý điều khiển theo lô đơn giản
Lô (batch) là tập hợp công việc được sắp thứ tự
Lô (batch) là tập hợp công việc được sắp thứ tự
Chi phí cài đặt thấp bởi điều khiển đơn giản.
Chi phí cài đặt thấp bởi điều khiển đơn giản.
Hàng đợi công việc tự động chuyển điều khiển từ
Hàng đợi công việc tự động chuyển điều khiển từ
công việc này đến công việc khác.
công việc này đến công việc khác.
Hạt nhân là bộ giám sát
Hạt nhân là bộ giám sát
Khởi động công việc
Khởi động công việc
Điều khiển chuyển đổi công việc
Điều khiển chuyển đổi công việc
Khi công việc được hoàn thành việc điều khiển
Khi công việc được hoàn thành việc điều khiển
chuyển lại cho bộ giám sát
chuyển lại cho bộ giám sát
34 slide 14
Sơ đồ bộ nhớ của một hệ thống theo lô đơn
giản (Simple Batch System)
34 slide 15
b) Hệ thống lô đa chương (Multiprogramming
Systems)
Multiprogramming
Multiprogramming
có các khả năng:
có các khả năng:
Một user đơn lẻ không được sử dụng CPU và
Một user đơn lẻ không được sử dụng CPU và
thiết bị I/O toàn thời gian.
thiết bị I/O toàn thời gian.
Khi các công việc được tổ chức đa chương (code
Khi các công việc được tổ chức đa chương (code
and data) thì CPU luôn luôn thực thi một trong
and data) thì CPU luôn luôn thực thi một trong
nó.
nó.
Một tập con của tất cả các công việc được lưu trữ
Một tập con của tất cả các công việc được lưu trữ
trong bộ nhớ
trong bộ nhớ
Một trong những công việc đó được chọn và hoạt
Một trong những công việc đó được chọn và hoạt
động theo
động theo
job scheduling
job scheduling
Khi một công việc rơi vào trạng thái chờ (ví dụ
Khi một công việc rơi vào trạng thái chờ (ví dụ
chờ I/O), OS sẽ chuyển sang công việc khác
chờ I/O), OS sẽ chuyển sang công việc khác
34 slide 16
Hệ thống theo lô đa chương
(Multiprogrammed Batch Systems)
M t vài công vi c c l u tr trong b nh chính t i cùng môt th i ộ ệ đượ ư ữ ộ ớ ạ ờ
i m, CPU ph c v m t trong nh ng công vi c ó. để ụ ụ ộ ữ ệ đ
34 slide 17
Những đặc tính cần thiết để
Multiprogramming
Hệ thống cung cấp các chương trình
Hệ thống cung cấp các chương trình
điều khiển I/O.
điều khiển I/O.
Quản trị bộ nhớ – hệ thống phải có khả
Quản trị bộ nhớ – hệ thống phải có khả
năng đinh vị trong bộ nhớ một vài
năng đinh vị trong bộ nhớ một vài
chương trình.
chương trình.
Lập lịch CPU – hệ thống phải lựa chọn
Lập lịch CPU – hệ thống phải lựa chọn
một vài công việc sẵn sàng để chạy.
một vài công việc sẵn sàng để chạy.
Định vị các thiết bị.
Định vị các thiết bị.
34 slide 18
c) Hệ thống chia sẻ thời gian (Timesharing
Systems)
Timesharing (multitasking – đa nhiệm)
Timesharing (multitasking – đa nhiệm)
là khái niệm mở
là khái niệm mở
rộng về mặt logic chỉ việc chuyển điều khiển giữa các công
rộng về mặt logic chỉ việc chuyển điều khiển giữa các công
việc thường xuyên đến mức các users tương tác được đến
việc thường xuyên đến mức các users tương tác được đến
mỗi công việc khi nó đang chạy, tạo ra máy tính tương tác.
mỗi công việc khi nó đang chạy, tạo ra máy tính tương tác.
Thời gian điều chuyển phù hợp
Thời gian điều chuyển phù hợp
< 1 second
< 1 second
Mỗi user có ít nhất một chương trình trong bộ nhớ
Mỗi user có ít nhất một chương trình trong bộ nhớ
tiến
tiến
trình (
trình (
process)
process)
Nếu một vài công việc sẵn sàng chạy tại cùng một thời
Nếu một vài công việc sẵn sàng chạy tại cùng một thời
điểm
điểm
CPU scheduling
CPU scheduling
Nếu các tiến trình không đặt vừa trong bộ nhớ,
Nếu các tiến trình không đặt vừa trong bộ nhớ,
swapping
swapping
sẽ được thực hiện.
sẽ được thực hiện.
Virtual memory
Virtual memory
cho phép thi hành các tiến trình không
cho phép thi hành các tiến trình không
đặt trọn vẹn trong bộ nhớ.
đặt trọn vẹn trong bộ nhớ.
34 slide 19
2.2 Desktop Systems
Personal computers
Personal computers
– hệ thống máy tính cho phép
– hệ thống máy tính cho phép
một người sử dụng.
một người sử dụng.
Thiết bị I/O tiêu chuẩn – bàn phím, chuột, màn
Thiết bị I/O tiêu chuẩn – bàn phím, chuột, màn
hình, máy in.
hình, máy in.
Người sử dụng dễ dàng và thuân lợi.
Người sử dụng dễ dàng và thuân lợi.
Có thể sử dụng công nghệ của các hệ thống lớn đã
Có thể sử dụng công nghệ của các hệ thống lớn đã
được cá nhân hóa cho người sử dụng nhưng không
được cá nhân hóa cho người sử dụng nhưng không
cần thiết các tính năng bảo vệ cao cấp.
cần thiết các tính năng bảo vệ cao cấp.
Có thể chạy với một vài OS (Windows, MacOS,
Có thể chạy với một vài OS (Windows, MacOS,
UNIX, Linux)
UNIX, Linux)
34 slide 20
2.3 Parallel Systems
Multiprocessor systems có nhiều CPU trong một
Multiprocessor systems có nhiều CPU trong một
hệ thống liên lạc khép kín.
hệ thống liên lạc khép kín.
Tightly coupled system
Tightly coupled system
– các processor chia sẻ bộ
– các processor chia sẻ bộ
nhớ và đồng hồ xung; truyền tin luôn luôn thông
nhớ và đồng hồ xung; truyền tin luôn luôn thông
qua bộ nhớ được chia sẻ.
qua bộ nhớ được chia sẻ.
Các lợi ích của parallel system:
Các lợi ích của parallel system:
Gia tăng thông lượng truyền tin
Gia tăng thông lượng truyền tin
Kinh tế
Kinh tế
Gia tăng độ tin cậy
Gia tăng độ tin cậy
34 slide 21
Parallel Systems (Cont.)
Symmetric multiprocessing (SMP)
Symmetric multiprocessing (SMP)
Mỗi processor chạy độc lập trên một bản sao hệ
Mỗi processor chạy độc lập trên một bản sao hệ
điều hành như nhau.
điều hành như nhau.
Cho phép nhiều tiến trình cùng chạy đồng thời
Cho phép nhiều tiến trình cùng chạy đồng thời
trên một hệ thống.
trên một hệ thống.
Nhiều hệ điều hành hiện đại hỗ trợ SMP
Nhiều hệ điều hành hiện đại hỗ trợ SMP
Asymmetric multiprocessing
Asymmetric multiprocessing
Mỗi bộ xử lý được giao một nhiệm vụ riêng
Mỗi bộ xử lý được giao một nhiệm vụ riêng
biệt; một bộ xử lý chủ (master) lập lịch và xác
biệt; một bộ xử lý chủ (master) lập lịch và xác
định công việc cho các bộ xử lý thành viên
định công việc cho các bộ xử lý thành viên
(slave)
(slave)
Phổ biến trên những hệ thống lớn
Phổ biến trên những hệ thống lớn
34 slide 22
Symmetric Multiprocessing Architecture
34 slide 23
2.4 Distributed Systems
Phân tán sự tính toán trên một vài bộ xử lý
Phân tán sự tính toán trên một vài bộ xử lý
vật lý.
vật lý.
Loosely coupled system
Loosely coupled system
– mỗi bộ xử lý có
– mỗi bộ xử lý có
một bộ nhớ riêng của nó. Các bộ xử lý truyền
một bộ nhớ riêng của nó. Các bộ xử lý truyền
thông tin cho nhau trên đường truyền tốc độ
thông tin cho nhau trên đường truyền tốc độ
cao.
cao.
Các lợi ích của distributed systems.
Các lợi ích của distributed systems.
Chia xẻ tài nguyên
Chia xẻ tài nguyên
Tăng tốc độ tính toán
Tăng tốc độ tính toán
Đáng tin cậy
Đáng tin cậy
Communications
Communications
34 slide 24
Distributed Systems (tiếp)
Đòi hỏi cơ sở hạ tầng mạng máy tính.
Đòi hỏi cơ sở hạ tầng mạng máy tính.
Local area networks (LAN) hoặc Wide
Local area networks (LAN) hoặc Wide
area networks (WAN)
area networks (WAN)
Có hai dạng hệ thống client-server hoặc
Có hai dạng hệ thống client-server hoặc
hệ thống peer-to-peer.
hệ thống peer-to-peer.
34 slide 25
Cấu trúc chung của Client-Server