You are on page 1of 86

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

BÀI GIẢNG MÔN

HỆ ĐIỀU HÀNH

Giảng viên: TS. Nguyễn Thu Hiên


Điện thoại: 0902002030
Email: hedieuhanh.nth@gmail.com
Classcode:
Mục tiêu học phần

 Về kiến thức:Trang bị cho sinh viên các kiến thức nền tảng về
chức năng, cấu trúc của hệ điều hành cũng như các nguyên lý,
thuật toán mà hệ điều hành dùng để quản lý hệ thống file, quản
lý bộ nhớ và quản lý tiến trình.

 Kỹ năng: Sinh viên nắm vững các kiến thức về hệ điều hành,
giải quyết được các bài tập và có khả năng áp dụng, vận hành
các hệ điều hành trong thực tế.

 Thái độ, Chuyên cần: đảm bảo số giờ học trên lớp và tự học

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 2
TÀI LIỆU HỌC TẬP
 Học liệu bắt buộc

[1] Bài giảng Hệ điều hành, Học viện Công nghệ Bưu chính Viễn thông

 Học liệu tham khảo

[1] Silberschatz A., Galvin G., Gagne G., “Operating systems concepts”, 9th
edition, John Willey&Sons, 2013

[2] Tanenbaum A. S., Bos H., “Modern Operating Systems”, Fourth edition,
Pearson, 2015

[3] Từ Minh Phương, Giáo trình Hệ điều hành, Học viện Công nghệ Bưu chính
Viễn thông, 2016

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 3
Nội dung học phần

 Chương 1: Tổng quan về hệ điều hành


Khái niệm, lịch sử phát triển hệ điều hành, cấu trúc hệ điều hành, thiết kế hệ điều
hành, một số hệ điều hành cụ thể.
 Chương 2: Quản lý tiến trình
Tiến trình và dòng, Điều độ tiến trình, Đồng bộ hóa tiến trình, tình trạng bế tắc và
đói
 Chương 3: Quản lý bộ nhớ
Kỹ thuật hoán đổi (swapping), Phân bổ bộ nhớ liền kề/liên tục, phân đoạn, phân
trang, bộ nhớ ảo (Nạp trang theo yêu cầu, Kỹ thuật hoán đổi)
 Chương 4: Quản lý lưu trữ
Cấu trúc lưu trữ chung (Điều phối ổ đĩa (Disk scheduling), Cấu trúc RAID, Quản lý
ổ đĩa và không gian hoán đổi), Giao diện hệ thống file (Cấu trúc ổ đĩa và thư mục, Gắn kết hệ
thống file (mouting), Chia sẻ và bảo mật file), Tổ chức hệ thống file (File và thư mục), Cấp
phát không gian trên đĩa, Hệ thống vào/ra
 Chương 5: Ảo hoá và đa xử lý
Khái niệm, Các kỹ thuật ảo hoá, Hệ thống phân tán


www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 4
ĐÁNH GIÁ HỌC PHẦN

 Điểm chuyên cần: 10%


 Bài tập, thảo luận: 20%
 Kiểm tra giữa kỳ: 10%
 Thi cuối kỳ : 60%

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 5
CHƯƠNG 1: TỔNG QUAN VỀ HĐH

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 6
NỘI DUNG
 1. Khái niệm hệ điều hành

 2. Lịch sử phát triển hệ điều hành

 3. Cấu trúc hệ điều hành

 4. Thiết kế hệ điều hành

 5. Một số hệ điều hành cụ thể

www.ptit.edu.vn 7 mạng
Nghiêm cấm quay video bài giảng này để đưa lên các trang Trang 7
Hệ điều hành là gì?
 Hệ điều hành là một chương trình quản lý phần cứng máy tính. Nó
cũng cung cấp cơ sở cho các chương trình ứng dụng và đóng vai
trò trung gian giữa người dung máy tính và phần cứng máy tính.
 Tính đa dạng, mục tiêu thiết kế khác nhau:
 Hệ điều hành cho máy tính lớn được thiết kế chủ yếu để tối ưu hóa
việc sử dụng phần cứng.
 Hệ điều hành cho máy tính cầm tay được thiết kế để cung cấp một
môi trường trong đó người dùng có thể dễ dàng giao tiếp với máy
tính để thực thi các chương trình
 Mục tiêu của hệ điều hành:
 Thực thi các chương trình của người dùng và giúp giải quyết các vấn
đề của người dùng dễ dàng hơn
 Làm cho hệ thống máy tính thuận tiện để sử dụng.
 Sử dụng phần cứng máy tính một cách hiệu quả
www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 8
1.1 Hệ điều hành làm gì?
Cấu trúc hệ thống máy tính: Hệ thống máy tính có thể được
chia thành bốn thành phần:
 Phần cứng - cung cấp tài nguyên máy tính cơ bản
 CPU, bộ nhớ, thiết bị I / O
 Hệ điều hành
 Kiểm soát và điều phối việc sử dụng phần cứng giữa các ứng
dụng và người dùng khác nhau
 Chương trình ứng dụng - xác định cách thức sử dụng tài
nguyên hệ thống để giải quyết các vấn đề tính toán của người
dùng
 Bộ xử lý văn bản, trình biên dịch, trình duyệt web, hệ thống cơ
sở dữ liệu, trò chơi điện tử
 Người dùng: Con người, máy móc, máy tính khác

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 9
4 thành phần của một hệ thống MT

(Silberschatz 2002-Operating
System Concepts - Essentials)
 Chúng ta cũng có thể xem một hệ thống máy tính bao gồm
phần cứng, phần mềm và dữ liệu. Hệ điều hành cung cấp các
phương tiện để sử dụng hợp lý các tài nguyên này trong hoạt
động của hệ thống máy tính.
www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 10
1.1 Vai trò của Hệ điều hành
Phụ thuộc vào quan điểm: quan điểm của người dùng và quan
điểm của hệ thống.
 Quan điểm người dùng:
 Thay đổi tùy theo giao diện đang được sử dụng.
• Hầu hết người dùng máy tính ngồi trước PC, bao gồm màn hình, bàn phím,
chuột và thiết bị hệ thống. Một hệ thống như vậy được thiết kế để một
người dùng độc quyền tài nguyên của nó. Mục đích là tối đa hóa công việc
(hoặc giải trí) mà người dùng đang thực hiện. Trong trường hợp này, hệ
điều hành được thiết kế chủ yếu để dễ sử dụng, với một số chú ý đến hiệu
suất và không chú ý đến việc sử dụng tài nguyên — cách các tài nguyên
phần cứng và phần mềm khác nhau được chia sẻ.
• Các hệ thống như vậy được tối ưu hóa cho trải nghiệm một người dùng
hơn là các yêu cầu của nhiều người dùng.

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 11
1.1 Vai trò của Hệ điều hành
Phụ thuộc vào quan điểm: quan điểm của người dùng và quan
điểm của hệ thống.
 Quan điểm người dùng:
 Thay đổi tùy theo giao diện đang được sử dụng.
• Trường hợp người dùng ngồi tại một thiết bị đầu cuối được kết nối với
máy tính lớn hoặc máy tính mini. Những người dùng khác đang truy cập
cùng một máy tính thông qua các thiết bị đầu cuối khác. Những người
dùng này chia sẻ tài nguyên và có thể trao đổi thông tin. Hệ điều hành
tđược thiết kế để tối đa hóa việc sử dụng tài nguyên để đảm bảo rằng tất cả
thời gian CPU, bộ nhớ và I/O có sẵn đều được sử dụng hợp lý và không có
người dùng cá nhân nào chiếm dụng nhiều hơn phần chia sẻ hợp lý của họ.
• Trường hợp người dùng ngồi tại các máy trạm được kết nối với mạng của
các máy trạm và máy chủ khác. Những người dùng này có tài nguyên
chuyên dụng theo ý của họ, nhưng họ cũng chia sẻ các tài nguyên như
mạng và máy chủ— file, máy tính và máy in. Do đó, hệ điều hành được
thiết kế để thỏa hiệp giữa khả năng sử dụng cá nhân và sử dụng tài nguyên.

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 12
1.1 Vai trò của Hệ điều hành
Phụ thuộc vào quan điểm: quan điểm của người dùng và quan
điểm của hệ thống.
 Quan điểm người dùng:
 Thay đổi tùy theo giao diện đang được sử dụng.
• Đối với máy tính cầm tay: Hệ điều hành được thiết kế chủ yếu cho khả
năng sử dụng cá nhân, nhưng hiệu suất trên một đơn vị thời lượng pin cũng
rất quan trọng.
• Một số máy tính có rất ít hoặc không có chế độ xem người dùng. Ví dụ:
máy tính nhúng trong thiết bị gia đình và ô tô có thể có bàn phím số và có
thể bật hoặc tắt đèn báo để hiển thị trạng thái, nhưng chúng và hệ điều
hành của chúng được thiết kế chủ yếu để chạy mà không có sự can thiệp
của người dùng.

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 13
1.1 Vai trò của Hệ điều hành
Phụ thuộc vào quan điểm: quan điểm của người dùng và quan điểm
của hệ thống.
 Quan điểm hệ thống:
1. Hệ điều hành là chương trình liên quan mật thiết nhất đến
phần cứng -> xem hệ điều hành như một bộ phân bổ tài nguyên.
 Hệ thống máy tính có nhiều tài nguyên được yêu cầu để giải quyết:
thời gian CPU, không gian bộ nhớ, không gian lưu trữ, thiết bị I/O,
v.v -> Hệ điều hành đóng vai trò là người quản lý các tài nguyên
này.
 Khi có nhiều yêu cầu tài nguyên xảy ra, hệ điều hành phải quyết
định cách phân bổ chúng cho các chương trình và người dùng cụ
thể để nó có thể vận hành hệ thống máy tính một cách hiệu quả và
công bằng. Việc phân bổ tài nguyên đặc biệt quan trọng khi nhiều
người dùng truy cập vào cùng một máy tính lớn hoặc máy tính
mini.
www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 14
1.1 Vai trò của Hệ điều hành
Phụ thuộc vào quan điểm: quan điểm của người dùng và quan điểm
của hệ thống.
 Quan điểm hệ thống:
2. Một quan điểm khác nhấn mạnh việc HĐH cần thiết phải
kiểm soát các thiết bị I/O và các chương trình người dùng khác
nhau. Hệ điều hành là một chương trình điều khiển. Chương trình
điều khiển quản lý việc thực thi các chương trình của người dùng
để ngăn ngừa lỗi và việc sử dụng máy tính không đúng cách. Nó
đặc biệt quan tâm đến việc vận hành và kiểm soát các thiết bị I/O.

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 15
1.1 Vai trò của Hệ điều hành
Định nghĩa HĐH
 Không có định nghĩa đầy đủ về một hệ điều hành
 Hệ điều hành tồn tại bởi vì chúng đưa ra một cách hợp lý để giải
quyết vấn đề tạo ra một hệ thống máy tính có thể sử dụng được.
 Mục tiêu cơ bản của hệ thống máy tính là thực thi các chương
trình của người dùng và giúp giải quyết các vấn đề của người
dùng dễ dàng hơn. Để đạt được mục tiêu này, phần cứng máy
tính được xây dựng.
 Vì phần cứng không dễ sử dụng, nên các chương trình ứng dụng
được phát triển. Các chương trình này yêu cầu một số hoạt động
phổ biến nhất định, chẳng hạn như các hoạt động điều khiển
thiết bị I/O. Các chức năng chung của việc kiểm soát và phân bổ
tài nguyên sau đó được tập hợp lại thành một phần mềm: hệ điều
hành.
www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 16
1.1 Vai trò của Hệ điều hành
Định nghĩa HĐH
 Ngoài ra, không có khái niệm nào được chấp nhận rộng rãi về
những gì là một phần của hệ điều hành.
 Các tính năng của HĐH rất khác nhau giữa các hệ thống.
 Một định nghĩa phổ biến hơn, và là khái niệm mà chúng ta
thường tuân theo, đó là hệ điều hành là một chương trình chạy
mọi lúc trên máy tính — thường được gọi là nhân (kernel). Cùng
với nhân, có hai loại chương trình khác:
 Chương trình hệ thống, được liên kết với hệ điều hành nhưng
không phải là một phần của nhân
 Chương trình ứng dụng, bao gồm tất cả các chương trình không
liên quan đến hoạt động của hệ thống.

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 17
1.1 Vai trò của Hệ điều hành
Định nghĩa HĐH
 Vấn đề về các thành phần của hệ điều hành ngày càng trở nên
quan trọng.
 Năm 1998, Bộ Tư pháp Hoa Kỳ đã đưa ra đơn kiện chống lại
Microsoft, về bản chất, tuyên bố rằng Microsoft đã đưa quá
nhiều chức năng vào hệ điều hành của mình và do đó ngăn cản
các nhà cung cấp ứng dụng cạnh tranh với nhau.
 Ví dụ, trình duyệt Web là một phần không thể thiếu của hệ điều
hành. Do đó, Microsoft bị kết tội sử dụng độc quyền hệ điều
hành của mình để hạn chế cạnh tranh.

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 18
1.2 Tổ chức hệ thống MT
1.2.1 Hoạt động của hệ thống máy tính
 Một hệ thống máy tính đa năng hiện đại bao gồm một hoặc
nhiều CPU và một số bộ điều khiển thiết bị được kết nối thông
qua một bus chung cung cấp quyền truy cập vào bộ nhớ dùng
chung (Hình 1.2).
 Mỗi bộ điều khiển thiết bị phụ trách một loại thiết bị cụ thể (ví
dụ: ổ đĩa, thiết bị âm thanh và màn hình video).
 CPU và bộ điều khiển thiết bị có thể thực thi đồng thời, cạnh
tranh cho các chu kỳ bộ nhớ. Để đảm bảo truy cập có trật tự
vào bộ nhớ dùng chung, một bộ điều khiển bộ nhớ được cung
cấp có chức năng đồng bộ hóa quyền truy cập vào bộ nhớ.

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 19
Hoạt động của hệ thống máy tính

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 20
Hoạt động của hệ thống máy tính - Khởi động MT
 Để một máy tính bắt đầu chạy — ví dụ: khi nó được khởi động
hoặc khởi động lại — nó cần phải có một chương trình ban
đầu để chạy: chương trình bootstrap (có xu hướng đơn giản).
 Bootstrap thường được lưu trữ trong ROM hoặc EPROM,
thường được gọi là phần sụn (firmware) trong phần cứng máy
tính
 Nó khởi tạo tất cả các khía cạnh của hệ thống, từ thanh ghi
CPU đến bộ điều khiển thiết bị đến nội dung bộ nhớ.
 Chương trình bootstrap phải biết cách tải hệ điều hành và cách
bắt đầu thực thi hệ thống đó. Để thực hiện mục tiêu này,
chương trình bootstrap phải định vị và tải vào bộ nhớ nhân hệ
điều hành (operating system kernel). Sau đó, hệ điều hành bắt
đầu thực hiện tiến trình đầu tiên, chẳng hạn như “init”, và đợi
một số sự kiện xảy ra.
www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 21
Hoạt động của hệ thống máy tính
 Sự xuất hiện của một sự kiện thường được báo hiệu bởi một
ngắt từ phần cứng hoặc phần mềm.
 Phần cứng có thể kích hoạt ngắt bất kỳ lúc nào bằng cách gửi
tín hiệu đến CPU, thường là bằng đường bus hệ thống.
 Phần mềm có thể kích hoạt ngắt bằng cách thực hiện một thao
tác đặc biệt được gọi là lời gọi hệ thống (system call)
 Khi CPU bị ngắt, nó sẽ dừng những gì nó đang làm và ngay
lập tức chuyển việc thực thi đến một vị trí đã được xác định.
Vị trí xác định này thường chứa địa chỉ bắt đầu (nơi chứa
chương trình con dịch vụ cho ngắt). Chương trình con dịch vụ
ngắt thực thi; khi hoàn thành, CPU tiếp tục thực hiện công việc
bị ngắt trước đó.

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 22
Hoạt động của hệ thống máy tính

 Ngắt là một phần quan trọng của kiến trúc máy tính. Mỗi thiết kế máy
tính có cơ chế ngắt riêng, nhưng một số chức năng là chung.
 Ngắt phải chuyển quyền điều khiển sang chương trình con dịch vụ ngắt
thích hợp.
 Phương pháp đơn giản để xử lý việc chuyển giao này là gọi một chương
trình con chung để kiểm tra thông tin ngắt; sau đó chương trình con này
sẽ gọi trình xử lý ngắt. Tuy nhiên, các ngắt phải được xử lý nhanh chóng.
 Vì chỉ những ngắt xác định trước là có thể, nên có thể sử dụng bảng con
trỏ cho các chương trình con ngắt để thay thế (đảm bảo tốc độ cần thiết).
CTC ngắt này được gọi gián tiếp thông qua bảng con trỏ mà không cần
CTC trung gian.
 Một vectơ ngắt chứa địa chỉ được lập chỉ mục theo chỉ số thiết bị duy
nhất, được cung cấp cùng với yêu cầu ngắt, để cung cấp địa chỉ của CTC
dịch vụ ngắt cho thiết bị ngắt. Các hệ điều hành như Windows và UNIX
điều phối ngắt theo cách này.

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 23
 Kiến trúc ngắt cũng phải lưu địa chỉ của lệnh bị ngắt.
 Nhiều thiết kế cũ: lưu trữ địa chỉ ngắt ở một vị trí đã xác định
hoặc ở một vị trí được lập chỉ mục bởi chỉ số thiết bị.
 Các kiến trúc gần đây: lưu trữ địa chỉ trả về trên ngăn xếp hệ
thống.
 Nếu CTC ngắt cần thay đổi trạng thái bộ xử lý — ví dụ, bằng
cách thay đổi các giá trị thanh ghi — thì nó phải lưu trạng thái
hiện tại một cách rõ ràng và sau đó khôi phục trạng thái đó
trước khi quay trở lại.
 Sau khi ngắt được phục vụ, địa chỉ trả về đã lưu trước đó được
tải vào bộ đếm chương trình (PC) và công việc bị ngắt trước
đó sẽ tiếp tục như thể ngắt chưa xảy ra.

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 24
1.2.2 Cấu trúc lưu trữ
 CPU chỉ có thể tải các lệnh từ bộ nhớ, vì vậy bất kỳ chương trình nào
cần chạy đều phải được lưu trữ ở đó. Máy tính đa năng chạy hầu hết các
chương trình từ bộ nhớ chính (RAM- DRAM).
 Vì không thể thay đổi bộ nhớ ROM, nên chỉ có các chương trình tĩnh
được lưu trữ ở đó. EEPROM không thể thay đổi thường xuyên và do đó,
chủ yếu chứa các chương trình tĩnh.
 Ví dụ, điện thoại thông minh có EEPROM để lưu trữ các chương trình
do nhà sản xuất cài đặt.
 Tất cả các bộ nhớ đều cung cấp một mảng các từ nhớ (word). Mỗi từ nhớ
có địa chỉ riêng của nó. Việc tương tác đạt được thông qua một chuỗi các
lệnh LOAD hoặc STORE tới các địa chỉ bộ nhớ cụ thể. Lệnh LOAD di
chuyển một từ nhớ từ bộ nhớ chính sang một thanh ghi bên trong CPU,
trong khi lệnh StORE di chuyển nội dung của một thanh ghi vào bộ nhớ
chính. Ngoài ra, CPU còn tự động tải các lệnh từ bộ nhớ chính để thực
thi.
www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 25
 Một chu trình thực thi lệnh điển hình, khi được thực thi trên hệ thống
có kiến trúc von Neumann:
 Trước tiên tìm nạp một lệnh từ bộ nhớ và lưu lệnh đó trong thanh ghi
lệnh.
 Sau đó, lệnh được giải mã và có thể khiến các toán hạng được tìm nạp từ
bộ nhớ và được lưu trữ trong một số thanh ghi bên trong.
 Sau khi lệnh trên các toán hạng đã được thực thi, kết quả có thể được lưu
lại trong bộ nhớ.
 Lưu ý rằng đơn vị bộ nhớ chỉ thấy một dòng các địa chỉ bộ nhớ; nó
không biết chúng được tạo ra như thế nào (bởi bộ đếm lệnh, lập chỉ
mục, gián tiếp, địa chỉ theo nghĩa đen, hoặc một số phương tiện khác)
hoặc chúng là để cho cái gì (lệnh hoặc dữ liệu). Do đó, chúng ta có
thể bỏ qua cách một chương trình tạo ra địa chỉ bộ nhớ. Và chỉ quan
tâm đến chuỗi địa chỉ bộ nhớ được tạo ra bởi chương trình đang chạy.

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 26
 Lý tưởng nhất: chúng ta muốn các chương trình và dữ liệu
thường trú trong bộ nhớ chính.
 Việc sắp xếp này thường không thể thực hiện được vì hai lý do
sau:
 1. Bộ nhớ chính thường quá nhỏ để lưu trữ vĩnh viễn tất cả các
chương trình và dữ liệu cần thiết.
 2. Bộ nhớ chính là thiết bị lưu trữ dễ bay hơi, mất nội dung khi
tắt nguồn hoặc bị mất.
 Vì vậy, hầu hết các hệ thống máy tính cung cấp bộ lưu trữ thứ
cấp (secondary storage) như một phần mở rộng của bộ nhớ
chính. Yêu cầu chính đối với bộ nhớ thứ cấp là nó có thể lưu
trữ một lượng lớn dữ liệu vĩnh viễn.

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 27
 Thiết bị lưu trữ thứ cấp phổ biến nhất là đĩa từ, cung cấp khả
năng lưu trữ cho cả chương trình và dữ liệu.
 Hầu hết các chương trình (hệ thống và ứng dụng) được lưu trữ
trên đĩa cho đến khi chúng được tải vào bộ nhớ.
 Nhiều chương trình sau đó sử dụng đĩa vừa là nguồn vừa là
đích xử lý của chúng. Do đó, việc quản lý thích hợp dung
lượng lưu trữ trên đĩa có ý nghĩa quan trọng đối với hệ thống
máy tính (sẽ được thảo luận).
 Hệ thống lưu trữ trong hệ thống máy tính thường được tổ chức
theo phân cấp (Hình 1.4) tùy theo tốc độ và chi phí. Các cấp
cao hơn thì đắt, nhưng nhanh. Ở cấp thấp hơn, giá mỗi bit nhớ
thường giảm, trong khi thời gian truy cập thường tăng lên. Sự
đánh đổi này là hợp lý;

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 28
Phân cấp lưu trữ
 Hệ thống lưu trữ được tổ chức
theo phân cấp
 Tốc độ
 Chi phí
 Tính dễ bay hơi
 Việc thiết kế một hệ thống bộ
nhớ hoàn chỉnh phải cân bằng tất
cả các yếu tố trên.
 Bộ nhớ đệm có thể được cài đặt
để cải thiện hiệu suất khi có sự
chênh lệch lớn về thời gian truy
cập hoặc tốc độ truyền giữa các
loại bộ nhớ khác nhau.

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 29
Cấu trúc lưu trữ

 Bộ nhớ chính - phương tiện lưu trữ lớn duy nhất mà CPU có thể truy cập
trực tiếp
 Truy cập ngẫu nhiên
 Thường dễ bay hơi
 Bộ nhớ thứ cấp - phần mở rộng của bộ nhớ chính cung cấp dung lượng lưu
trữ lớn, không bay hơi
 Đĩa cứng (HDD)- đĩa kim loại hoặc thủy tinh cứng được phủ từ tính
 Bề mặt đĩa được chia hợp lý thành các rãnh, các rãnh được chia nhỏ
thành các sector.
 Bộ điều khiển đĩa xác định tương tác logic giữa thiết bị và máy tính
 Đĩa thể rắn (SSD) - nhanh hơn đĩa cứng, không dễ bay hơi
 Các công nghệ khác nhau
 Trở nên phổ biến hơn

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 30
Caching
Nguyên tắc quan trọng, được thực hiện ở nhiều cấp độ trong máy tính
(trong phần cứng, hệ điều hành, phần mềm)
 Thông tin đang sử dụng được sao chép tạm thời từ bộ lưu trữ
chậm hơn sang bộ lưu trữ nhanh hơn
 Bộ lưu trữ nhanh hơn (bộ nhớ cache) được kiểm tra trước để xác
định xem thông tin có ở đó không
 Nếu có, thông tin được sử dụng trực tiếp từ bộ nhớ cache (nhanh)
 Nếu không, dữ liệu được sao chép vào bộ nhớ cache và được sử
dụng ở đó
 Bộ nhớ đệm có dung lượng nhỏ hơn bộ lưu trữ được đệm
 Quản lý bộ nhớ cache: vấn đề thiết kế quan trọng
 Kích thước bộ nhớ đệm và chính sách thay thế

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 31
1.2.3 Cấu trúc I/O
 Bộ nhớ chỉ là một trong nhiều loại thiết bị I/O trong máy tính.
Một phần lớn mã hệ điều hành được dành riêng để quản lý I/O,
cả vì tầm quan trọng của nó đối với độ tin cậy và hiệu suất của
hệ thống cũng như vì tính chất khác nhau của các thiết bị.
 Hệ thống máy tính đa năng bao gồm CPU và nhiều bộ điều
khiển thiết bị được kết nối thông qua một bus chung. Mỗi bộ
điều khiển thiết bị phụ trách một loại thiết bị cụ thể. Tùy thuộc
vào bộ điều khiển, nhiều hơn một thiết bị có thể được gắn vào.
Ví dụ, bảy thiết bị trở lên có thể được gắn vào bộ điều khiển
giao diện hệ thống máy tính nhỏ (SCSI).

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 32
 Bộ điều khiển thiết bị duy trì một số buffer cục bộ và một tập
hợp các thanh ghi có mục đích đặc biệt. Bộ điều khiển thiết bị
chịu trách nhiệm di chuyển dữ liệu giữa các thiết bị ngoại vi
mà nó điều khiển và bộ buffer cục bộ của nó.
 Thông thường, các hệ điều hành có trình điều khiển thiết bị
(device driver) cho mỗi bộ điều khiển thiết bị. Trình điều
khiển thiết bị này hiểu bộ điều khiển thiết bị và hiển thị giao
diện thống nhất của thiết bị với phần còn lại của hệ điều hành.
 Để bắt đầu hoạt động I/O, trình điều khiển thiết bị tải các
thanh ghi thích hợp trong bộ điều khiển thiết bị.
 Sau đó, bộ điều khiển thiết bị sẽ kiểm tra nội dung của các
thanh ghi này để xác định hành động cần thực hiện (vd: đọc
một ký tự từ bàn phím). Bộ điều khiển bắt đầu chuyển dữ liệu
từ thiết bị đến bộ buffer cục bộ của nó.
www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 33
 Sau khi quá trình truyền dữ liệu hoàn tất, bộ điều khiển thiết bị sẽ thông
báo cho trình điều khiển thiết bị thông qua một ngắt rằng nó đã hoạt động
xong.
 Trình điều khiển thiết bị trả lại quyền điều khiển cho hệ điều hành, có thể
trả về dữ liệu hoặc một con trỏ tới dữ liệu nếu thao tác được đọc. Đối với
các hoạt động khác, trình điều khiển thiết bị trả về thông tin trạng thái.
 Hình thức I/O theo kiểu ngắt (interrupt-driven I/O) này thích hợp để di
chuyển một lượng nhỏ dữ liệu nhưng có thể tạo ra chi phí cao khi được sử
dụng để di chuyển dữ liệu hàng loạt như I/O đĩa.
 Để giải quyết vấn đề này, truy cập bộ nhớ trực tiếp (DMA) được sử dụng.
Sau khi thiết lập buffer, con trỏ và bộ đếm cho thiết bị I/O, bộ điều khiển
thiết bị truyền trực tiếp toàn bộ khối dữ liệu đến hoặc từ buffer của chính
nó vào bộ nhớ mà không có sự can thiệp của CPU. Chỉ có một ngắt được
tạo cho mỗi khối, để cho trình điều khiển thiết bị biết rằng hoạt động đã
hoàn thành, thay vì một ngắt trên mỗi byte được tạo cho các thiết bị tốc độ
thấp. Trong khi bộ điều khiển thiết bị đang thực hiện các hoạt động này,
CPU vẫn sẵn sàng để hoàn thành công việc khác.
www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 34
 Một số hệ thống máy tính cao cấp sử dụng switch thay vì kiến
trúc bus. Trên các hệ thống này, nhiều thành phần có thể trao
đổi thông tin với các thành phần khác đồng thời, thay vì cạnh
tranh cho các chu kỳ trên bus chia sẻ. Trong trường hợp này,
DMA thậm chí còn hiệu quả hơn.

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 35
1.3 Kiến trúc hệ thống máy tính
1.3.1 Hệ thống đơn xử lý: sử dụng một bộ xử lý đa năng duy nhất
(hệ thống đơn xử lý)
 Hầu hết các hệ thống đều có bộ xử lý mục đích đặc biệt (đĩa, bàn
phím và bộ điều khiển đồ họa)
 Tất cả các bộ xử lý có mục đích đặc biệt này đều chạy một tập lệnh
giới hạn và không chạy các tiến trình của người dùng. Đôi khi
chúng được quản lý bởi hệ điều hành, trong đó hệ điều hành gửi
cho chúng thông tin về tác vụ tiếp theo và giám sát trạng thái của
chúng.
 Việc sử dụng các bộ vi xử lý cho mục đích đặc biệt là phổ biến và
không biến một hệ thống đơn bộ xử lý thành bộ đa xử lý. Nếu chỉ
có một CPU cho mục đích chung, thì hệ thống là hệ thống đơn xử
lý.

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 36
1.3 Kiến trúc hệ thống máy tính
1.3.2 Hệ thống đa xử lý
 Ngày càng phổ biến và trở nên quan trọng
 Còn được gọi là hệ thống song song, hệ thống được ghép nối
(coupled) chặt chẽ
 Các hệ thống này có hai hoặc nhiều bộ xử lý, chia sẻ bus máy
tính và đôi khi là xung nhịp, bộ nhớ và các thiết bị ngoại vi.
 Ưu điểm:
• 1. Tăng thông lượng: số lượng bộ xử lý tang, hoàn thành nhiều công việc
hơn trong thời gian ngắn hơn. Tỷ lệ speed up <N (N bộ XL), vì một lượng
chi phí nhất định sẽ phát sinh để giữ cho tất cả các bộ phận hoạt động
chính xác, cộng với sự tranh giành tài nguyên được chia sẻ, làm giảm lợi
nhuận dự kiến từ các bộ xử lý.
• 2. Tính kinh tế theo quy mô: Các hệ thống đa xử lý có thể có chi phí thấp
hơn nhiều hệ thống đơn xử lý tương đương, vì chúng có thể dùng chung
các thiết bị ngoại vi, bộ nhớ chung và nguồn điện.

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 37
1.3 Kiến trúc hệ thống máy tính
Hệ thống đa xử lý
 Ưu điểm:
• 3. Tăng độ tin cậy: Nếu các chức năng có thể được phân phối hợp lý giữa một
số bộ xử lý, thì sự cố của một bộ xử lý sẽ không làm hệ thống ngừng hoạt động
mà chỉ làm chậm hệ thống. Nếu chúng ta có mười bộ xử lý và một bộ xử lý bị
lỗi, thì mỗi bộ trong số chín bộ xử lý còn lại có thể nhận một phần công việc
của bộ xử lý bị lỗi. Do đó, toàn bộ hệ thống chỉ chạy chậm hơn 10 phần trăm
 Hai kiểu:
• 1. Đa xử lý không đối xứng - mỗi bộ xử lý có một nhiệm vụ cụ thể. Bộ xử lý
chính điều khiển hệ thống; các bộ xử lý khác hoặc tìm đến bộ xử lý chính để có
được lệnh hoặc có các tác vụ định trước. Cơ chế này là mối quan hệ chủ - tớ. Bộ
xử lý chính lên lịch và phân bổ công việc cho các bộ xử lý phụ.
• 2. Đa xử lý đối xứng - mỗi bộ xử lý thực hiện tất cả các tác vụ bên trong hệ điều
hành. SMP có nghĩa là tất cả các bộ xử lý là đồng đẳng; không tồn tại mối quan
hệ chủ - tớ giữa các bộ xử lý. Hình 1.6 minh họa một kiến trúc SMP điển hình.
Lưu ý rằng mỗi bộ xử lý có bộ thanh ghi riêng, cũng như bộ đệm riêng; tuy
nhiên, tất cả các bộ xử lý đều chia sẻ bộ nhớ vật lý.

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 38
1.3 Kiến trúc hệ thống máy tính
 Hệ thống đa xử lý đối xứng (SMP): tất cả các bộ xử lý là đồng
đẳng; không tồn tại mối quan hệ chủ - tớ giữa các bộ xử lý.
Hình 1.6 minh họa một kiến trúc SMP điển hình. Lưu ý rằng
mỗi bộ xử lý có bộ thanh ghi riêng, cũng như bộ đệm riêng;
tuy nhiên, tất cả các bộ xử lý đều chia sẻ bộ nhớ vật lý.

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 39
1.3 Kiến trúc hệ thống máy tính
 Đa chip và đa lõi
 Một xu hướng gần đây trong thiết kế CPU là bao gồm nhiều lõi
trên một chip duy nhất. Về bản chất, đây là những con chip đa xử
lý. Chúng có thể hiệu quả hơn nhiều chip có lõi đơn vì giao tiếp
trên chip nhanh hơn giao tiếp giữa các chip. Ngoài ra, một chip có
nhiều lõi sử dụng ít năng lượng hơn đáng kể so với nhiều chip lõi
đơn.
 Các hệ thống đa lõi đặc biệt phù hợp với các hệ thống máy chủ
như máy chủ cơ sở dữ liệu và máy chủ Web.

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 40
1.3 Kiến trúc hệ thống máy tính
 Hình 1.7: thiết kế lõi kép với hai lõi trên cùng một con chip.
 Trong thiết kế này, mỗi lõi có bộ thanh ghi riêng cũng như bộ
đệm cục bộ riêng; các thiết kế khác có thể sử dụng bộ nhớ đệm
dùng chung hoặc kết hợp bộ nhớ đệm cục bộ và bộ đệm chia sẻ.
 Ngoài những cân nhắc về kiến trúc, chẳng hạn như bộ nhớ đệm,
bộ nhớ và tranh chấp bus, các CPU đa lõi này xuất hiện với hệ
điều hành như là N bộ xử lý tiêu chuẩn. Xu hướng này gây áp
lực lên các nhà thiết kế hệ điều hành - và các nhà lập trình ứng
dụng - để sử dụng các CPU đó.

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 41
1.3 Kiến trúc hệ thống máy tính
 Máy chủ phiến (Blade server-máy chủ mật độ cao) là một sự
phát triển gần đây trong đó nhiều bo mạch xử lý, bo mạch I/O
và bo mạch mạng được đặt trong cùng một khung.
 Khác biệt giữa các hệ thống này và các hệ thống đa xử lý
truyền thống:
 Mỗi bo mạch bộ xử lý phiến khởi động độc lập và chạy hệ điều
hành riêng.
 Một số bo mạch máy chủ phiến cũng là bộ xử lý đa xử lý, điều
này làm mờ ranh giới giữa các loại máy tính. Về bản chất, các
máy chủ này bao gồm nhiều hệ thống đa xử lý độc lập.

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 42
1.3 Kiến trúc hệ thống máy tính
1.3.3 Hệ thống cụm
Giống như hệ thống đa xử lý, nhưng có nhiều hệ thống làm việc cùng nhau
 Thường chia sẻ bộ nhớ qua mạng lưu trữ (SAN)
 Cung cấp dịch vụ có tính khả dụng cao
 Phân cụm không đối xứng: có một máy ở chế độ dự phòng nóng (hot-
standby).
 Phân cụm đối xứng: có nhiều nút chạy các ứng dụng, giám sát lẫn nhau
 Một số cụm dành cho tính toán hiệu suất cao (HPC)
 Các ứng dụng phải được viết để sử dụng song song.
 Một số có trình quản lý khóa phân tán (DLM) để tránh các hoạt động xung
đột

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 43
1.4 Cấu trúc hệ điều hành
 Hệ điều hành cung cấp môi trường trong đó các chương trình
được thực thi. Bên trong, các hệ điều hành khác nhau rất nhiều
về cấu trúc của chúng, vì chúng được tổ chức theo nhiều
đường khác nhau. Tuy nhiên, có nhiều điểm chung.
 Khả năng đa chương trình (Hệ thống theo lô – batch system)
để đạt hiệu quả vì
 Một chương trình đơn không thể làm cho CPU và các thiết bị I/O
luôn bận
 Người dùng đơn lẻ thường có nhiều chương trình đang chạy. Đa
chương trình làm tăng khả năng sử dụng CPU bằng cách tổ chức
các công việc (mã và dữ liệu) để CPU luôn có một công việc để
thực thi.

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 44
1.4 Cấu trúc hệ điều hành
 Đa chương trình:
 Ý tưởng như sau: Hệ điều hành giữ một số công việc đồng thời
trong bộ nhớ (Hình 1.9). Nói chung, bộ nhớ chính quá nhỏ để có
thể chứa tất cả các công việc, các công việc được lưu giữ ban
đầu trên đĩa trong nhóm công việc. Nhóm này bao gồm tất cả các
tiến trình nằm trên đĩa đang chờ cấp phát bộ nhớ chính.

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 45
1.4 Cấu trúc hệ điều hành
 Đa chương trình
 Tập hợp các công việc trong bộ nhớ có thể là một tập hợp con của các
công việc được lưu trong nhóm công việc.
 Hệ điều hành chọn và bắt đầu thực hiện một trong các công việc trong
bộ nhớ.
 Cuối cùng, công việc có thể phải đợi một số tác vụ, chẳng hạn như
thao tác I/O, để hoàn thành.
• Trong một hệ thống không đa chương trình, CPU sẽ ở trạng thái idle.
• Trong một hệ thống đa chương trình, hệ điều hành chỉ cần chuyển sang và thực
hiện một công việc khác. Cuối cùng, công việc đầu tiên sẽ chờ đợi và lấy lại
CPU. Miễn là có ít nhất một công việc cần thực hiện, CPU sẽ không bao giờ rảnh.
 Các hệ thống đa chương trình cung cấp một môi trường trong đó các
tài nguyên hệ thống khác nhau (ví dụ: CPU, bộ nhớ và thiết bị ngoại
vi) được sử dụng một cách hiệu quả, nhưng chúng không cung cấp
việc tương tác của người dùng với hệ thống máy tính.

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 46
1.4 Cấu trúc hệ điều hành
 Chia sẻ thời gian (hoặc đa nhiệm) là một phần mở rộng hợp lý
của đa chương trình.
 Trong các hệ thống chia sẻ thời gian, CPU thực hiện nhiều công
việc bằng cách chuyển đổi giữa chúng, nhưng việc chuyển đổi
xảy ra thường xuyên đến mức người dùng có thể tương tác với
từng chương trình khi nó đang chạy.
 Chia sẻ thời gian yêu cầu một hệ thống máy tính tương tác, cung
cấp giao tiếp trực tiếp giữa người dùng và hệ thống. Người dùng
đưa ra lệnh trực tiếp cho hệ điều hành hoặc một chương trình, sử
dụng thiết bị đầu vào như bàn phím hoặc chuột và đợi kết quả
ngay lập tức trên thiết bị đầu ra. Do đó:
• Thời gian phản hồi phải ngắn — thường ít hơn một giây.

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 47
1.4 Cấu trúc hệ điều hành
 Chia sẻ thời gian
 Hệ điều hành chia sẻ thời gian cho phép nhiều người dùng chia
sẻ máy tính đồng thời. Vì mỗi hành động hoặc lệnh trong hệ
thống chia sẻ thời gian có xu hướng ngắn nên chỉ cần một ít thời
gian CPU cho mỗi người dùng. Khi hệ thống chuyển đổi nhanh
chóng từ người dùng này sang người dùng tiếp theo, mỗi người
dùng có ấn tượng rằng toàn bộ hệ thống máy tính được dành
riêng cho việc sử dụng của mình, mặc dù nó đang được chia sẻ
cho nhiều người dùng.
 Hệ điều hành chia sẻ thời gian sử dụng lập lịch CPU và lập trình
đa chương trình để cung cấp cho mỗi người dùng một phần nhỏ
của máy tính chia sẻ thời gian. Mỗi người dùng có ít nhất một
chương trình riêng biệt trong bộ nhớ. Một chương trình được nạp
vào bộ nhớ và thực thi được gọi là một tiến trình.

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 48
1.4 Cấu trúc hệ điều hành
 Chia sẻ thời gian
 Khi một tiến trình thực thi, nó thường chỉ thực thi trong một thời
gian ngắn trước khi bắt đầu hoặc cần thực hiện I/O.
 I/O có thể tương tác; nghĩa là, đầu ra được chuyển đến màn hình
cho người dùng và đầu vào đến từ bàn phím, chuột của người
dùng hoặc thiết bị khác. Vì I/O tương tác thường chạy ở tốc độ
của con người, nên có thể mất nhiều thời gian để hoàn thành.
 Ví dụ: đầu vào có thể bị giới hạn bởi tốc độ nhập của người
dùng; 7 ký tự mỗi giây là nhanh đối với con người nhưng lại cực
kỳ chậm đối với máy tính.
 Thay vì để CPU rảnh khi tương tác này diễn ra, hệ điều hành sẽ
nhanh chóng chuyển CPU sang chương trình của một số người
dùng khác.

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 49
1.4 Cấu trúc hệ điều hành
 Chia sẻ thời gian và đa chương trình yêu cầu một số công việc
được lưu giữ đồng thời trong bộ nhớ. Nếu một số công việc đã
sẵn sàng được đưa vào bộ nhớ, và nếu không có đủ chỗ cho tất
cả chúng, thì hệ thống phải chọn trong số chúng. Đưa ra quyết
định này chính là lập lịch công việc (job scheduling).
 Khi hệ điều hành chọn một công việc từ nhóm công việc, nó sẽ
tải công việc đó vào bộ nhớ để thực hiện. Việc có một số
chương trình trong bộ nhớ cùng một lúc đòi hỏi một số hình
thức quản lý bộ nhớ.
 Ngoài ra, nếu một số công việc sẵn sàng chạy cùng một lúc, hệ
thống phải chọn trong số đó. Đưa ra quyết định này là lập lịch
CPU,

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 50
1.4 Cấu trúc hệ điều hành
 Trong hệ thống chia sẻ thời gian, hệ điều hành phải đảm bảo
thời gian đáp ứng hợp lý, đôi khi được thực hiện thông qua
hoán đổi (swapping), trong đó các tiến trình được hoán đổi
vào và ra bộ nhớ chính sang đĩa.
 Phương pháp phổ biến hơn để đạt được mục tiêu này là bộ nhớ
ảo (virtual memory), một kỹ thuật cho phép thực hiện một
tiến trình không hoàn toàn trong bộ nhớ. Ưu điểm chính của
cơ chế bộ nhớ ảo là nó cho phép người dùng chạy các chương
trình lớn hơn bộ nhớ vật lý thực tế.
 Nó trừu tượng hóa bộ nhớ chính thành một mảng lưu trữ lớn,
đồng nhất, tách bộ nhớ logic được người dùng xem khỏi bộ nhớ
vật lý. Sự sắp xếp này giải phóng các lập trình viên khỏi mối
quan tâm về giới hạn bộ nhớ lưu trữ.

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 51
1.4 Cấu trúc hệ điều hành
 Các hệ thống chia sẻ thời gian cũng phải cung cấp một hệ
thống file.
 Hệ thống file nằm trên một tập hợp các đĩa; do đó, quản lý đĩa
phải được cung cấp.
 Ngoài ra, các hệ thống chia sẻ thời gian cung cấp một cơ chế
để bảo vệ tài nguyên khỏi việc sử dụng không phù hợp.
 Để đảm bảo thực hiện có trật tự, hệ thống phải cung cấp các cơ
chế đồng bộ hóa công việc và giao tiếp, và nó có thể đảm bảo
rằng các công việc không bị rơi vào bế tắc, hay mãi mãi chờ
đợi nhau.

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 52
1.5 Các hoạt động của HĐH

 Các hệ điều hành hiện đại được điều khiển bởi ngắt (interrupt
driven). Các sự kiện hầu như được báo hiệu bằng sự xuất hiện
của một ngắt hoặc bẫy (trap).
 Bẫy (hoặc một ngoại lệ) là một ngắt do phần mềm tạo ra do lỗi
(ví dụ: chia cho 0 hoặc truy cập bộ nhớ không hợp lệ) hoặc bởi
một yêu cầu cụ thể từ một chương trình người dùng mà một dịch
vụ hệ điều hành được thực hiện.
 Bản chất điều khiển ngắt của hệ điều hành phụ thuộc vào cấu
trúc chung của hệ thống đó. Đối với mỗi loại ngắt, các đoạn
mã riêng biệt trong hệ điều hành xác định hành động nào cần
được thực hiện. Một CTC dịch vụ ngắt được gọi.

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 53
1.5 Các hoạt động của HĐH
 Điều khiển ngắt (phần cứng và phần mềm)
 Phần cứng bị ngắt bởi một trong các thiết bị
 Phần mềm bị ngắt (ngoại lệ hoặc bẫy):
• Lỗi phần mềm (ví dụ: phép chia cho không)
• Yêu cầu dịch vụ của hệ điều hành
 Các vấn đề tiến trình khác bao gồm vòng lặp vô hạn, các tiến
trình thay đổi lẫn nhau hoặc hệ điều hành: nhiều tiến trình có thể
bị ảnh hưởng bởi một lỗi trong một chương trình.
 Một hệ điều hành được thiết kế phù hợp phải đảm bảo: một
chương trình không chính xác (hoặc độc hại) không thể khiến
các chương trình khác thực thi sai.

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 54
1.5 Các hoạt động của HĐH
1.5.1 Chế độ kép (dual –mode): cho phép HĐH tự bảo vệ chính nó và
các thành phần hệ thống khác
Để đảm bảo hệ điều hành được thực thi đúng cách, chúng phải
có khả năng phân biệt giữa việc thực thi mã hệ điều hành và mã định
danh người dùng
 Chế độ người dùng và chế độ nhân (còn gọi là chế độ giám sát, chế độ
hệ thống, chế độ đặc quyền)
 Một bit chế độ: được thêm vào phần cứng của máy tính để chỉ ra chế độ
hiện tại: nhân (0) hoặc người dùng (1).
 Khi hệ thống máy tính đang thực thi ứng dụng người dùng, hệ thống
đang ở chế độ người dung.
 Tuy nhiên, khi một ứng dụng người dùng yêu cầu một dịch vụ từ hệ
điều hành (thông qua một lời gọi hệ thống – system call), nó phải
chuyển từ chế độ người dùng sang chế độ hạt nhân để đáp ứng yêu cầu
đó.
www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 55
1.5 Các hoạt động của HĐH (tiếp)
1.5.1 Chế độ kép (dual –mode): Chế độ người dùng và chế độ
nhân

 Bit chế độ do phần cứng cung cấp


• Cung cấp khả năng phân biệt khi hệ thống đang chạy mã người dùng hoặc
mã nhân
• Một số lệnh được chỉ định là đặc quyền, chỉ có thể thực thi trong chế độ
nhân
• Lời gọi hệ thống: thay đổi chế độ người dung thành chế độ nhân, trả về từ
gọi sẽ khởi tạo lại nó sang chế độ người dùng

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 56
1.5 Các hoạt động của HĐH (tiếp)
1.5.1 Chế độ kép (dual –mode):
 Tại thời điểm khởi động hệ thống, phần cứng khởi động ở chế độ nhân.
Hệ điều hành sau đó được tải và khởi động các ứng dụng người dùng ở
chế độ người dùng. Bất cứ khi nào bẫy hoặc ngắt xảy ra, phần cứng sẽ
chuyển từ chế độ người dùng sang chế độ nhân
 Bất cứ khi nào hệ điều hành giành được quyền kiểm soát máy tính, nó sẽ
ở chế độ nhân.
 Hệ thống luôn chuyển sang chế độ người dùng trước khi chuyển quyền
điều khiển cho chương trình người dùng.
 Chế độ hoạt động kép cung cấp các phương tiện để bảo vệ hệ điều hành
khỏi những lỗi của người dùng: bằng cách chỉ định một số lệnh có thể gây
hại làm lệnh đặc quyền. Phần cứng chỉ cho phép các lệnh đặc quyền được
thực thi trong chế độ nhân. Nếu cố gắng thực hiện một lệnh đặc quyền
trong chế độ người dùng, phần cứng sẽ không thực hiện lệnh đó mà coi
nó là bất hợp pháp và bẫy nó vào hệ điều hành.

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 57
1.5 Các hoạt động của HĐH (tiếp)
1.5.1 Chế độ kép (dual –mode):
 Lệnh chuyển sang chế độ nhân là một ví dụ về lệnh đặc quyền.
Một số ví dụ khác bao gồm điều khiển I/O, quản lý bộ định
thời và quản lý ngắt.
 Từ chu trình thực thi lệnh trong hệ thống máy tính:
 Kiểm soát ban đầu nằm trong hệ điều hành, nơi các lệnh được
thực thi trong chế độ nhân.
 Khi quyền kiểm soát được trao cho một ứng dụng người dùng,
chế độ được đặt thành chế độ người dùng.
 Cuối cùng, quyền điều khiển được trả lại hệ điều hành thông qua
ngắt, bẫy hoặc lời gọi hệ thống.

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 58
1.5 Các hoạt động của HĐH (tiếp)
1.5.1 Chế độ kép (dual –mode):
 Lời gọi hệ thống cung cấp phương tiện để chương trình người
dùng yêu cầu hệ điều hành thay mặt chương trình người dùng
thực hiện các tác vụ dành riêng cho hệ điều hành.
 Lời gọi hệ thống được gọi theo nhiều cách khác nhau, tùy
thuộc vào chức năng được cung cấp bởi bộ xử lý bên dưới.
 Trong tất cả các hình thức, nó là phương thức được sử dụng
bởi một tiến trình để yêu cầu hệ điều hành hành động.
 Một lời gọi hệ thống thường có dạng một bẫy đến một vị trí
xác định trong vectơ ngắt.

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 59
1.5 Các hoạt động của HĐH (tiếp)
1.5.2 Định thời (Timer): để ngăn chặn vòng lặp vô hạn/tiến trình
tiêu tốn tài nguyên, tránh việc không gọi được các dịch vụ hệ
thống và không bao giờ trả lại quyền kiểm soát cho hệ điều hành.
 Định thời được thiết lập để ngắt máy tính sau một khoảng thời
gian xác định
 Làm cho giá trị bộ đếm giảm dần theo đồng hồ vật lý.
 Hệ điều hành thiết lập bộ đếm (lệnh đặc quyền)
 Khi bộ đếm bằng 0: tạo ra một ngắt. Trước khi chuyển giao
quyền kiểm soát cho người dùng, hệ điều hành đảm bảo rằng bộ
định thời được đặt để ngắt.
 Thiết lập trước khi lập lịch tiến trình lấy lại quyền kiểm soát
hoặc kết thúc chương trình vượt quá thời gian quy định.

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 60
1.6 Quản lý tiến trình
 Một tiến trình là một chương trình đang được thực thi. Nó là một đơn vị
công việc trong hệ thống. Chương trình là một thực thể thụ động, tiến
trình là một thực thể hoạt động.
 Một hệ thống bao gồm một tập hợp các tiến trình, một số trong số đó là
các tiến trình của hệ điều hành (những tiến trình thực thi mã hệ thống) và
phần còn lại là tiến trình của người dùng (những tiến trình thực thi mã
người dùng)
 Ví dụ tiến trình =một trình biên dịch của một chương trình người dung, Một
chương trình xử lý văn bản, một tác vụ hệ thống (gửi dữ liệu đến máy in)
 Tiến trình cần các tài nguyên để hoàn thành nhiệm vụ của nó
 CPU, bộ nhớ, I/O, tệp
 Dữ liệu khởi tạo
 Việc kết thúc tiến trình yêu cầu thu hồi mọi tài nguyên có thể tái sử dụng

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 61
Các hoạt động quản lý tiến trình
 Tiến trình đơn luồng có một bộ đếm chương trình xác định vị trí của lệnh
tiếp theo để thực thi
 Tiến trình thực hiện các lệnh một cách tuần tự, cho đến khi hoàn thành
 Tiến trình đa luồng có một bộ đếm chương trình cho mỗi luồng
 Hệ thống thường có nhiều tiến trình, một số người dùng, một số hệ điều
hành chạy đồng thời trên một hoặc nhiều CPU
 Đồng thời bằng cách ghép các CPU giữa các tiến trình/luồng
Hệ điều hành chịu trách nhiệm về các hoạt động sau liên quan đến quản lý tiến
trình:
 Lập lịch các tiến trình và các luồng trên các CPU
 Tạo và xóa cả tiến trình của người dùng và hệ thống
 Tạm dừng và tiếp tục các tiến trình
 Cung cấp các cơ chế để đồng bộ hóa tiến trình
 Cung cấp cơ chế giao tiếp tiếp trình
 Cung cấp cơ chế để xử lý bế tắc

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 62
1.7 Quản lý bộ nhớ
 Để thực hiện một chương trình, tất cả (hoặc một phần) các lệnh
phải nằm trong bộ nhớ
 Tất cả (hoặc một phần) dữ liệu mà chương trình cần phải có
trong bộ nhớ.
 Quản lý bộ nhớ xác định những gì có trong bộ nhớ và khi nào
 Tối ưu hóa việc sử dụng CPU và phản hồi của máy tính cho người
dùng
 Các hoạt động quản lý bộ nhớ:
 Theo dõi phần nào của bộ nhớ hiện đang được sử dụng và bởi ai
 Quyết định tiến trình nào (hoặc các phần của chúng) và dữ liệu sẽ
di chuyển vào và ra khỏi bộ nhớ
 Phân bổ và phân bổ lại không gian bộ nhớ khi cần thiết

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 63
1.8 Quản lý lưu trữ
 Hệ điều hành cung cấp cái nhìn thống nhất, logic về lưu trữ thông
tin
 Trừu tượng hoá các thuộc tính vật lý cho đơn vị lưu trữ logic - tệp
 Mỗi phương tiện được điều khiển bởi thiết bị (tức là ổ đĩa, ổ băng)
• Các thuộc tính thay đổi bao gồm tốc độ truy cập, dung lượng, tốc độ truyền dữ
liệu, phương thức truy cập (tuần tự hoặc ngẫu nhiên)
 Quản lý hệ thống tệp
 Các tệp thường được tổ chức thành các thư mục
 Kiểm soát truy cập trên hầu hết các hệ thống để xác định ai có thể
truy cập những gì
 Các hoạt động hệ điều hành bao gồm
• Tạo và xóa các tệp và thư mục
• Các đặc quyền để thao tác các tệp và thư mục
• Ánh xạ tệp vào bộ lưu trữ thứ cấp
• Sao lưu tệp vào phương tiện lưu trữ ổn định (không bay hơi)
www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 64
1.8 Quản lý lưu trữ
 Quản lý bộ lưu trữ lớn (Mass-Storage)
 Thông thường, các đĩa được sử dụng để lưu trữ dữ liệu không nằm trong bộ
nhớ chính hoặc dữ liệu phải được lưu giữ trong một khoảng thời gian "dài“
 Quản lý thích hợp có vai trò quan trọng
 Toàn bộ tốc độ hoạt động của máy tính phụ thuộc vào hệ thống các ổ đĩa và
các thuật toán của nó
 Các hoạt động của hệ điều hành:
• Quản lý không gian trống
• Phân bổ bộ nhớ
• Lập lịch đĩa
 Một số bộ lưu trữ không cần nhanh
• Bộ lưu trữ cấp ba bao gồm bộ nhớ quang, băng từ
• Vẫn phải được quản lý - bằng hệ điều hành hoặc ứng dụng
• Thay đổi giữa WORM (ghi một lần, đọc nhiều lần) và RW (đọc-ghi)

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 65
1.8 Quản lý lưu trữ
Hiệu suất của các mức lưu trữ khác nhau

(Backed by: được hỗ trợ bởi)


(Flash mem là một loại bộ nhớ không cần nguồn điện để duy trì dữ liệu với tốc độ đọc ghi nhanh
chóng, bộ nhớ flash cũng có khả năng xóa đi và ghi lại dữ liệu mới, đây là loại bộ nhớ vô cùng
phổ biến hiện nay. Hiện tại có hai loại bộ nhớ flash là NAND và NOR. Trong thực tế bạn sẽ thấy
flash NAND nhiều hơn, đây là thành phần lưu trữ trên thẻ nhớ, USB, ổ cứng SSD hay cả chip nhớ
trong điện thoại)

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 66
1.8 Quản lý lưu trữ
 Caching (Bộ nhớ Đệm)
 Bộ nhớ đệm là một nguyên tắc quan trọng của hệ thống máy
tính. Thông tin thường được lưu giữ trong một số hệ thống lưu
trữ (chẳng hạn như bộ nhớ chính). Khi được sử dụng, nó được
sao chép vào hệ thống lưu trữ nhanh hơn - bộ nhớ cache - trên cơ
sở tạm thời.
 Khi chúng ta cần một thông tin cụ thể, trước tiên chúng ta kiểm
tra xem nó có nằm trong bộ nhớ đệm hay không. Nếu có, chúng
tôi sử dụng thông tin trực tiếp từ bộ nhớ cache; nếu không, sử
dụng thông tin từ nguồn, đưa một bản sao vào bộ nhớ cache.
 Vì bộ nhớ đệm có kích thước hạn chế nên việc quản lý bộ nhớ
đệm là một vấn đề thiết kế quan trọng. Việc lựa chọn cẩn thận
kích thước bộ nhớ cache và chính sách thay thế có thể làm tăng
hiệu suất đáng kể.

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 67
1.8 Quản lý lưu trữ
 Phân hệ I/O
 Một mục đích của HĐH là che giấu các đặc thù của thiết bị phần
cứng khỏi người dùng
 Phân hệ I/O chịu trách nhiệm về:
• Quản lý bộ nhớ của I/O bao gồm đệm buffering (lưu trữ dữ liệu tạm thời
trong khi dữ liệu đang được truyền), đệm caching (lưu trữ các phần dữ liệu
trong bộ lưu trữ nhanh hơn để đạt hiệu suất), đệm spooling (xếp chồng đầu
ra của một công việc với đầu vào của các công việc khác)
• Giao diện trình điều khiển thiết bị chung
• Trình điều khiển cho các thiết bị phần cứng cụ thể

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 68
1.9 Bảo vệ (Protection) và Bảo mật (Security)
 Bảo vệ - một cơ chế bất kỳ nào đó để kiểm soát quyền truy cập của các tiến
trình hoặc người dùng vào các tài nguyên do Hệ điều hành xác định.
 Bảo mật- bảo vệ hệ thống trước sự tấn công từ bên trong và bên ngoài
 Phạm vi rộng, bao gồm từ chối dịch vụ, các phần mềm độc hại (worms),
vi rút, trộm danh tính, ăn cắp dịch vụ
 Các hệ thống thường phân biệt trước tiên giữa những người dùng, để xác
định ai có thể làm những gì
 Danh tính người dùng (ID người dùng, ID bảo mật) bao gồm tên và số
liên quan, một danh tính cho mỗi người dùng
 User ID sau đó liên kết với tất cả các tệp, tiến trình của người dùng đó để
xác định quyền kiểm soát truy cập
 Mã định danh nhóm (ID nhóm) cho phép tập hợp người dùng được xác
định và điều khiển được quản lý, sau đó cũng được liên kết với từng tiến
trình, tệp
 Báo cáo đặc quyền cho phép người dùng thay đổi ID hiệu lực với nhiều
quyền hơn

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 69
1.10 Các cấu trúc dữ liệu nhân (Kernel Data)
 Nhiều cấu trúc tương tự như cấu trúc dữ liệu lập trình tiêu chuẩn.
 Danh sách liên kết đơn

 Danh sách liên kết kép

 Danh sách liên kết vòng

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 70
1.10 Các cấu trúc dữ liệu nhân (Kernel Data)
 Cây tìm kiếm nhị phân (tráiphải):
 Hiệu suất tìm kiếm: O(n)
 Cây tìm kiếm nhị phân cân bằng: O(logn)

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 71
1.10 Các cấu trúc dữ liệu nhân (Kernel Data)
 Hàm băm: có thể tạo sơ đồ băm

 Bitmap - chuỗi n chữ số nhị phân biểu thị trạng thái của n mục.
 Các cấu trúc dữ liệu Linux được định nghĩa trong

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 72
1.11 Các môi trường tính toán
Truyền thống
 Các máy đa năng độc lập
 Nhưng bị mờ vì hầu hết các hệ thống kết nối với nhau (tức là
Internet)
 Các cổng cung cấp quyền truy cập web vào các hệ thống nội
bộ
 Các máy tính mạng (máy khách mỏng- thin clients: máy tính
người dùng có cấu hình tối thiểu) giống như thiết bị đầu cuối
Web
 Các máy tính di động kết nối với nhau qua mạng không dây
 Liên kêt mạng trở nên phổ biến - ngay cả các hệ thống gia đình
cũng sử dụng tường lửa để bảo vệ máy tính gia đình khỏi các
cuộc tấn công từ Internet

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 73
1.11 Các môi trường tính toán
Di động (Mobile)
 Điện thoại thông minh cầm tay, máy tính bảng, v.v.
 Sự khác biệt về chức năng giữa chúng và máy tính xách tay
“truyền thống” là gì?
 Tính năng bổ sung - nhiều tính năng hệ điều hành hơn (GPS,
hiệu ứng con quay hồi chuyển -gaming)
 Cho phép các loại ứng dụng mới như thực tế tăng cường
 Sử dụng mạng dữ liệu di động hoặc không dây IEEE 802.11
để kết nối
 Dẫn đầu là Apple iOS và Google Android

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 74
1.11 Các môi trường tính toán
 Tính toán phân tán (distributed)
 Tập hợp các hệ thống riêng biệt, có thể không đồng nhất, được
nối mạng với nhau
• Mạng là một đường dẫn truyền thông, Các khái niệm hệ điều hành phổ
biến nhất TCP/IP
– Mạng cục bộ (LAN)
– Mạng diện rộng (WAN)
– Mạng khu vực đô thị (MAN)- Mạng
– Khu vực Cá nhân (PAN)
 Hệ điều hành mạng cung cấp các tính năng giữa các hệ thống
trên toàn mạng
• Cơ chế truyền thông cho phép các hệ thống trao đổi các bản tin
• Ảo tưởng về một hệ thống duy nhất

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 75
1.11 Các môi trường tính toán
Tính toán Client-Server
 Các thiết bị đầu cuối câm (có rất ít khả năng xử lý) được thay
thế bằng PC thông minh
 Nhiều hệ thống hiện là máy chủ, đáp ứng các yêu cầu do máy
khách tạo ra
 Hệ thống máy chủ tính toán cung cấp giao diện cho máy khách
để yêu cầu dịch vụ (như cơ sở dữ liệu)
 Hệ thống máy chủ tệp cung cấp giao diện cho máy khách để lưu
trữ và truy xuất tệp

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 76
1.11 Các môi trường tính toán
Ngang hàng (peer to peer)
 Một mô hình khác của hệ thống phân tán
 P2P không phân biệt máy khách và máy chủ
 Thay vào đó, tất cả các nút được coi là đồng
đẳng
 Mỗi người có thể hoạt động như máy khách, máy
chủ hoặc cả hai
 Node phải tham gia mạng P2P
• Đăng ký dịch vụ của mình với dịch vụ tra cứu trung
tâm trên mạng, hoặc
• Phát quảng bá yêu cầu dịch vụ và trả lời các yêu cầu
dịch vụ thông qua giao thức khám phá
 Ví dụ bao gồm Napster và Gnutella, Thoại qua
IP (VoIP) chẳng hạn như Skype

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 77
1.11 Các môi trường tính toán
Ảo hoá
 Cho phép hệ điều hành chạy các ứng dụng trong các hệ điềuhành
khác
 Ngành công nghiệp lớn và đang phát triển
 Mô phỏng được sử dụng khi loại CPU nguồn khác với loại đích
(tức là PowerPC sang Intel x86)
 Khi ngôn ngữ máy tính không được biên dịch sang mã gốc – sự
thông dịch (Interpretation)
 Ảo hóa - Hệ điều hành được biên dịch tự nhiên (natively
compiled) cho CPU, chạy các hệ điều hành khách cũng được
biên dịch tự nhiên
 ViệcVMware chạy trên OS WinXP, mỗi ứng dụng đang chạy, tất
cả đều trên hệ điều hành máy chủ WinXP gốc
 VMM (Virtual Machine Manager) cung cấp các dịch vụ ảo hóa
www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 78
 Interpretation và compile

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 79
 Khi dùng ngôn ngữ thông dịch viết chương trình thì chương trình chạy đến dòng lệnh
nào, interpreter sẽ dịch chúng trực tiếp thành mã máy đến đó để máy tính thực thi chúng.
 Với ngôn ngữ biên dịch thì compiler sẽ dịch toàn bộ chương trình thành mã máy rồi mới thực
thi.
Ưu điểm:
 Với interpreter:
 Dễ thực thi hơn vì bỏ qua việc kiểm tra lỗi.
 Phù hợp cho các chương trình kích thước nhỏ
 Hỗ trợ đa nền tảng
 Có thể chỉnh sửa mã nguồn bất cứ khi nào bạn muốn, ngôn ngữ có tính tùy biến cao
 Có thể chạy trên mọi nền tảng nếu có trình thông dịch tương ứng, do mã nguồn chỉ ở
dạng văn bản nên không phụ thuộc vào hệ điều hành.
 Với Compiler:
 Khó bị dịch ngược mã nguồn.
 Độ tin cậy cao, khả năng bảo mật tốt.
 Chương trình được thực thi nhanh hơn ngôn ngữ thông dịch.
 Hỗ trợ đa luồng (multi-thread) và giao tác (transaction).

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 80
Nhược điểm:
 Với interpreter:
 Chương trình có độ tin cậy thấp do bỏ qua bước kiểm tra loại
bỏ một số lỗi, thường có nguy cơ thiếu lỗi.
 Tốc độ thực thi chậm
 Mã nguồn dễ dịch ngược
 Không hỗ trợ đa luồng (multi-thread), giao tác (transaction).
Tuy nhiên vẫn có ngoại lệ, chẳng hạn như: PHP, MySQL.
 Với Compiler:
 Khó xây dựng một compiler có tính chính xác cao để dịch toàn
bộ chương trình thành mã máy.
 Khó thực hiện đa nền tảng.

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 81
1.12 Lịch sử phát triển hệ điều hành

Thế hệ 1 (1945 – 1955)


 Vào khoảng giữa thập niên 1940, Howard Aiken ở Havard và
John von Neumann ở Princeton, đã thành công trong việc xây
dựng máy tính dùng ống chân không. Những máy này rất lớn
với hơn 10000 ống chân không nhưng chậm hơn nhiều so với
máy rẻ nhất ngày nay.
 Mỗi máy được một nhóm thực hiện tất cả từ thiết kế, xây dựng
lập trình, thao tác đến quản lý. Lập trình bằng ngôn ngữ máy
tuyệt đối, thường là bằng cách dùng bảng điều khiển để thực
hiện các chức năng cơ bản. Ngôn ngữ lập trình chưa được biết
đến và hệ điều hành cũng chưa nghe đến.
 Vào đầu thập niên 1950, phiếu đục lổ ra đời và có thể viết
chương trình trên phiếu thay cho dùng bảng điều khiển.

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 82
1.12 Lịch sử phát triển hệ điều hành
Thế hệ 2 (1955 – 1965)
 Sự ra đời của thiết bị bán dẫn vào giữa thập niên 1950 làm thay đổi bức
tranh tổng thể. Máy tính trở nên đủ tin cậy hơn. Nó được sản xuất và cung
cấp cho các khách hàng. Lần đầu tiên có sự phân chia rõ ràng giữa người
thiết kế, người xây dựng, người vận hành, người lập trình, và người bảo trì.
 Để thực hiện một công việc (một chương trình hay một tập hợp các chương
trình), lập trình viên trước hết viết chương trình trên giấy (bằng hợp ngữ
hay FORTRAN) sau đó đục lỗ trên phiếu và cuối cùng đưa phiếu vào máy.
Sau khi thực hiện xong nó sẽ xuất kết quả ra máy in.
 Hệ thống xử lý theo lô ra đời, nó lưu các yêu cầu cần thực hiện lên băng từ,
và hệ thống sẽ đọc và thi hành lần lượt. Sau đó, nó sẽ ghi kết quả lên băng
từ xuất và cuối cùng người sử dụng sẽ đem băng từ xuất đi in.
 Hệ thống xử lý theo lô hoạt động dưới sự điều khiển của một chương trình
đặc biệt là tiền thân của hệ điều hành sau này. Ngôn ngữ lập trình sử dụng
trong giai đoạn này chủ yếu là FORTRAN và hợp ngữ.

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 83
1.12 Lịch sử phát triển hệ điều hành
Thế hệ 3 (1965 – 1980)
 Trong giai đoạn này, máy tính được sử dụng rộng rãi trong khoa học cũng như
trong thương mại. Máy IBM 360 là máy tính đầu tiên sử dụng mạch tích hợp
(IC). Từ đó kích thước và giá cả của các hệ thống máy giảm đáng kể và máy tính
càng phỗ biến hơn. Các thiết bị ngoại vi dành cho máy xuất hiện ngày càng nhiều
và thao tác điều khiển bắt đầu phức tạp.
 Hệ điều hành ra đời nhằm điều phối, kiểm soát hoạt động và giải quyết các yêu
cầu tranh chấp thiết bị. Chương trình hệ điều hành dài cả triệu dòng hợp ngữ và
do hàng ngàn lập trình viên thực hiện.
 Sau đó, hệ điều hành ra đời khái niệm đa chương. CPU không phải chờ thực hiện
các thao tác nhập xuất. Bộ nhớ được chia làm nhiều phần, mỗi phần có một công
việc (job) khác nhau, khi một công việc chờ thực hiện nhập xuất CPU sẽ xử lý
các công việc còn lại. Tuy nhiên khi có nhiều công việc cùng xuất hiện trong bộ
nhớ, vấn đề là phải có một cơ chế bảo vệ tránh các công việc ảnh hưởng đến
nhau. Hệ điều hành cũng cài đặt thuộc tính spool.
 Giai đoạn này cũng đánh dấu sự ra đời của hệ điều hành chia sẻ thời gian như
CTSS của MIT. Đồng thời các hệ điều hành lớn ra đời như MULTICS, UNIX và
hệ thống các máy mini cũng xuất hiện như DEC PDP-1.
www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 84
1.12 Lịch sử phát triển hệ điều hành

Thế hệ 4 (1980 - )
 Giai đoạn này đánh dấu sự ra đời của máy tính cá nhân, đặc
biệt là hệ thống IBM PC với hệ điều hành MS-DOS và
Windows sau này. Bên cạnh đó là sự phát triển mạnh của các
hệ điều hành tựa Unix trên nhiều hệ máy khác nhau như
Linux. Ngoài ra, từ đầu thập niên 90 cũng đánh dấu sự phát
triển mạnh mẽ của hệ điều hành mạng và hệ điều hành phân
tán.

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 85
Câu hỏi
 1.1 Ba mục đích chính của hệ điều hành là gì?
 1.2 Sự khác biệt cơ bản giữa hệ điều hành cho máy tính lớn và máy
tính cá nhân là gì?
 1.3 Liệt kê bốn bước cần thiết để chạy một chương trình trên một
máy tính hoàn toàn chuyên dụng — máy tính chỉ chạy chương trình
đó.
 1.4 Làm thế nào để phân biệt giữa chế độ hạt nhân và chế độ người
dùng hoạt động như một dạng hệ thống bảo vệ (bảo mật) thô?
 1.5 Lệnh nào sau đây nên được ưu tiên?
 1.6 Phân biệt giữa mô hình client –server và peer-to-peer củahệ
thống phân tán.
 1.7 Hệ thống phân cụm khác với hệ thống đa xử lý như thế nào?
Điều gì cần thiết để hai máy thuộc một cụm hợp tác để cung cấp
dịch vụ có tính khả dụng cao?

www.ptit.edu.vn Nghiêm cấm quay video bài giảng này để đưa lên các trang mạng Trang 86

You might also like