You are on page 1of 38

Machine Translated by Google

ĐẠI HỌC KHOA HỌC, VNUHCM


KHOA CÔNG NGHỆ THÔNG TIN

CSC10007 - HỆ ĐIỀU HÀNH

Chương 1

Giới thiệu về hệ điều hành

Hướng dẫn hoặc:


VŨ THỊ MỸ HẰNG, TS.

TA/Lab: LÊ QUỐC HÒA, ThS.

TP.HCM, 2024
Machine Translated by Google

Kế hoạch

• HĐH: CÁI GÌ và TẠI SAO?

• Phân loại

• Các thành phần chính

• Cấu trúc hệ điều hành

HỆ ĐIỀU HÀNH 2
Machine Translated by Google

Kế hoạch

• HĐH: CÁI GÌ và TẠI SAO?

• Phân loại

• Các thành phần chính

• Cấu trúc hệ điều hành

HỆ ĐIỀU HÀNH 3
Machine Translated by Google

Cái gì và tại sao?

Định nghĩa hệ điều hành

các cửa sổ Linux Ubuntu Hệ điều hành Mac/iOS Android

Một chương trình hệ thống (Phần mềm hệ thống)

• Cung cấp một cách dễ dàng để thực thi các chương trình ứng dụng, tức là

chương trình người dùng giải quyết các vấn đề của người dùng (ví dụ: trình xử lý văn bản,

trình duyệt web)


(Phần mềm ứng dụng)
• Hoạt động như một giao diện giữa các chương trình ứng dụng và

phần cứng máy tính (ví dụ: CPU, bộ nhớ, thiết bị I/O)

HỆ ĐIỀU HÀNH 4
Machine Translated by Google

Cái gì và tại sao?

Tổng quan về hệ thống máy tính


người dùng người dùng người dùng người dùng

1 2 3 N

trình biên dịch người lắp ráp soạn thảo văn bản … cơ sở dữ liệu

hệ thống

chương trình hệ thống và ứng dụng

hệ điều hành

phần cứng máy tính

HỆ ĐIỀU HÀNH 5
Machine Translated by Google

Cái gì và tại sao?

Vai trò của hệ điều hành


Máy ảo (chế độ xem người dùng) • (Cài đặt mở rộng máy tính/máy tính ảo)

Cung cấp sự trừu tượng thống nhất về phần cứng máy tính • Cung cấp

các khái niệm trừu tượng (ví dụ: tệp) để sử dụng máy tính dễ dàng hơn ü Điều gì

sẽ xảy ra nếu người dùng mở myfile.docx?

HỆ ĐIỀU HÀNH 6
Machine Translated by Google

Cái gì và tại sao?

Vai trò của hệ điều hành


Trình quản lý/cấp phát tài nguyên (chế độ xem (Quản lý tài nguyên)

hệ thống) • Quản lý tài nguyên (CPU, bộ nhớ, ...) giữa các chương

trình khác nhau một cách công bằng, hiệu quả và


an toàn ü Phân bổ/Khử phân

bổ ü Chia sẻ

ü Bảo vệ CPU Ký ức
Máy in
...

HỆ ĐIỀU HÀNH 7
Machine Translated by Google

Cái gì và tại sao?

Vai trò của hệ điều hành


(Hỗ trợ giao tiếp với máy tính thông qua hệ thống gọi)

Tập hợp các tiện ích, tức là các lệnh gọi hệ thống (chế độ xem của lập trình viên)

• Tạo điều kiện và đơn giản hóa việc lập trình ứng dụng

ü Viết chương trình đọc file từ đĩa?

Đọc file
“abc.txt”
làm việc với

làm việc với các tập tin đường đua, khu vực, v.v.

hệ điều hành

HỆ ĐIỀU HÀNH số 8
Machine Translated by Google

Kế hoạch

• HĐH: CÁI GÌ và TẠI SAO?

• Phân loại

• Các thành phần chính

• Cấu trúc hệ điều hành

HỆ ĐIỀU HÀNH 9
Machine Translated by Google

Phân loại

Hệ điều hành hàng loạt


(HỆ ĐIỀU HÀNH XỬ LÝ THEO LÔ)

• Một công việc/chương trình (ví dụ: tập lệnh, dữ liệu)

ü Lưu trữ trên thẻ đục lỗ, được đọc bởi đầu đọc thẻ

• Một đợt (tức là tập hợp các công việc tương

tự) ü Được thực hiện từng cái một mà không có sự tương tác trực

tiếp của người dùng L CPU không hoạt động trong khi công việc hiện tại đang chờ I/O hoàn

thành L Thiếu tương tác của người dùng

Đợt 1 Đợt 2

Công việc1 Công việc3

Công việc2 Công việc4

Thẻ đục lỗ Xử lý hàng loạt

HỆ ĐIỀU HÀNH 1 0
Machine Translated by Google

Phân loại

Hệ điều hành đa chương trình (HỆ THỐNG ĐIỀU HÀNH ĐA CHƯƠNG)

• Nhiều chương trình được lưu giữ đồng thời trong bộ

nhớ • Trong khi chương trình hiện tại đang chờ thao tác I/O,
CPU sẽ chuyển sang thao tác khác

J Tối đa hóa việc sử dụng CPU

Lập lịch CPU L?


hệ điều hành

L Bảo vệ bộ nhớ?
P1 Phân
vùng bộ nhớ
P2

HỆ ĐIỀU HÀNH 1 1
Machine Translated by Google

Phân loại

Hệ điều hành đa chương trình

Hệ thống hàng loạt so với hệ thống đa chương trình

Lô hàng

CPU P1 Nhàn rỗi P1 P2 Nhàn rỗi P2

Vào/ra P1 P2

Đa chương trình

CPU P1 P2 P1 P2

Vào/ra P1 P2

HỆ ĐIỀU HÀNH 1 2
Machine Translated by Google

Phân loại

Hệ điều hành chia sẻ thời gian (Hệ điều hành đa nhiệm)

(HỆ ĐIỀU HÀNH CHIA SẺ THỜI GIAN / ĐA NHIỆM)


• Một phần mở rộng của hệ thống đa chương trình • Chuyển

đổi CPU giữa các chương trình khác nhau ü Mỗi

chương trình sử dụng CPU ... P1


trong một khoảng thời gian ngắn (lát

thời gian) • Yêu cầu người dùng/hệ thống tương tác trực tiếp
P3 P2
J Phản hồi nhanh cho người

dùng ü Đủ nhanh để tạo ảo giác về sự song song giả

L Lập kế hoạch CPU phức tạp hơn

HỆ ĐIỀU HÀNH 1 3
Machine Translated by Google

Phân loại

Hệ điều hành song song (HĐH đa xử lý)


(HỆ ĐIỀU HÀNH BÀI HÁT / ĐA XỬ LÝ)

• Chạy trên máy tính đa bộ xử lý có bộ nhớ dùng chung •

Chia chương trình thành nhiều hoạt động/công việc, có thể


được thực thi đồng thời trên các CPU khác nhau để tăng
tốc độ thực thi

J Tăng sức mạnh tính toán


P1 AB AB
J Độ tin

cậy L Hỗ trợ kiến trúc phần cứng và hệ thống?

L Kỹ thuật tính toán song song?

HỆ ĐIỀU HÀNH 1 4
Machine Translated by Google

Phân loại

Hệ điều hành phân tán (HỆ ĐIỀU HÀNH PHÂN TÁN)

• Gồm các hệ thống độc lập được liên kết qua mạng

• Cần có hệ điều hành phân tán

ü Chia sẻ tài

nguyên ü Hợp tác

công việc ü Tăng sức mạnh tính toán

HỆ ĐIỀU HÀNH 1 5
Machine Translated by Google

Phân loại

Hệ điều hành thời gian thực (HỆ ĐIỀU HÀNH XỬ LÝ THỜI GIAN THỰC)

(RTOS) • Nhiệm vụ phải hoàn thành trong giới hạn thời

gian • Hệ thống thời gian thực cứng: phải tôn trọng giới hạn thời gian

ü Độ trễ thời gian gây ra lỗi hệ thống (tức là các nhiệm vụ PHẢI được thực hiện đúng thời gian hoặc bị

lỗi) ü Ví dụ: hệ thống điều khiển công nghiệp, hệ thống điều khiển giao thông

• Hệ thống thời gian thực

mềm • Thỉnh thoảng chấp nhận độ trễ


• thời gian Ví dụ: hệ

thống đa phương tiện L Limited – Phức tạp – Đắt

HỆ ĐIỀU HÀNH 1 6
Machine Translated by Google

Phân loại

Hệ điều hành nhúng (HỆ ĐIỀU HÀNH NHÚNG)

• Được cài đặt trên điện thoại, PDA và các thiết bị khác (không phải máy tính)

• Được thiết kế cho mục đích cụ thể

• Có thể có hoặc không có giao diện người dùng

L Tài nguyên hạn chế (CPU thấp, bộ nhớ nhỏ, không có ổ đĩa, ...)

L Thuật toán phức tạp

Điện thoại thông minh Đồng hồ thông minh Robot hút bụi iPod

HỆ ĐIỀU HÀNH 1 7
Machine Translated by Google

Kế hoạch

• HĐH: CÁI GÌ và TẠI SAO?

• Phân loại

• Các thành phần chính

• Cấu trúc hệ điều hành

HỆ ĐIỀU HÀNH 1 8
Machine Translated by Google

Các thành phần chính


(QUẢN LÝ TIẾN TRÌNH VÀ TIỂU TRÌNH/LUỒNG)

Quản lý tiến trình (và luồng) •


Thao tác tiến trình và luồng (ví dụ: tạo, hủy)
ü Quy trình: một chương trình đang (Tiến trình)

thực thi ü Thread: một quy trình nhẹ, được hỗ trợ trong hầu hết các (Tiểu trình/Luồng)

hệ điều hành hiện đại • Giao tiếp giữa các quá (Cơ chế liên lạc)

trình (IPC) ü Để trao đổi dữ liệu hoặc cộng tác để giải

quyết một tác vụ ... • Lập (CPU


lịchĐiều
CPUphối)

ü Làm thế nào để phân bổ CPU cho nhiều tiến trình một cách công bằng và hiệu quả?

• Đồng bộ hóa (Đồng bộ hóa)

ü Điều gì sẽ xảy ra nếu nhiều tiến trình khác nhau truy cập vào một tài nguyên chung cùng một lúc?

HỆ ĐIỀU HÀNH 1 9
Machine Translated by Google

Các thành phần chính


(QUẢN LÝ BỘ NHỚ)

Quản lý bộ nhớ
• Trong hệ thống đa chương trình, nhiều chương trình được thực thi (tức là tiến

trình) được lưu trữ đồng thời trong bộ nhớ.

• Hệ điều hành xử lý:

ü Cấp phát, giải phóng và bảo vệ bộ nhớ (chống truy cập không hợp lệ) ü Quản lý bộ nhớ

ảo

o Để có nhiều không gian

hơn ... o Các chương trình được tải vào bộ nhớ một phần ...

HỆ ĐIỀU HÀNH 2 0
Machine Translated by Google

Các thành phần chính


(QUẢN LÝ TẬP TIN VÀ Ổ ĐĨA)

Quản lý tập tin và đĩa

• Tệp là một khái niệm trừu tượng được hệ điều hành cung cấp để lưu trữ tập hợp các
dữ liệu trên đĩa

• Hệ điều hành xử lý:

ü Tổ chức tập tin ü

Phân bổ/phân bổ tập tin

ü Lưu trữ tập tin trên đĩa

HỆ ĐIỀU HÀNH 2 1
Machine Translated by Google

Các thành phần chính


(QUẢN LÝ HỆ THỐNG NHẬP/XUẤT)

Quản lý vào/ra
• HĐH đóng vai trò trung gian giữa yêu cầu I/O và vật lý

thiết bị (ví dụ: chuột, bàn phím, màn hình, máy in)

• Hệ điều hành xử lý:

ü Giao tiếp phần cứng I/O (ví dụ: bộ điều khiển thiết bị, DMA, bỏ phiếu,
ngắt I/O)

ü Phần mềm I/O, cho phép truy cập và quản lý các hoạt động I/O (ví dụ: trình
điều khiển thiết bị, bộ xử lý ngắt)

HỆ ĐIỀU HÀNH 2 2
Machine Translated by Google

Các thành phần chính

Cuộc gọi hệ thống (LỜI GỌI HỆ THỐNG)

(Hệ thống) Giao diện lập trình •

Được hệ điều hành cung cấp để hỗ trợ lập trình ứng dụng ü
Win32 API cho Windows

ü POSIX API cho UNIX, Linux và Mac OS ü

Java API cho JVM

• Chủ yếu được các chương trình gọi thông qua Giao diện lập trình
ứng dụng (API), tức là các tiện ích được cung cấp bởi ngôn ngữ
lập trình

HỆ ĐIỀU HÀNH 2 3
Machine Translated by Google

Các thành phần chính

Cuộc gọi hệ thống

Người dùng

Chương trình ứng dụng


cách thức Chuyển đổi chế độ được thực hiện thông qua

cuộc gọi hệ thống

Giao diện cuộc gọi hệ thống

hạt nhân

(NHÂN HỆ ĐIỀU HÀNH)

hạt nhân
Trình điều khiển thiết bị
cách thức

Phần cứng máy tính HỆ ĐIỀU HÀNH 2 4


Machine Translated by Google

Các thành phần chính

Cuộc gọi hệ thống

Chương trình C gọi hàm “printf”, gọi hàm Cuộc gọi hệ thống Windows và Unix
gọi hệ thống “write”

HỆ ĐIỀU HÀNH 2 5
Machine Translated by Google

Các thành phần chính

SHELL hoặc Trình thông dịch lệnh (HỆ THỐNG CƠ CHẾ DÒNG LỆNH)

• Giao diện dựa trên văn bản để tương tác với hệ điều hành.

HỆ ĐIỀU HÀNH 2 6
Machine Translated by Google

Các thành phần chính


(HỆ THỐNG BẢO VỆ VÀ BẢO MẬT)

Bảo vệ và An ninh
• Tài nguyên máy tính (ví dụ: tập tin, phần mềm, phần cứng) phải được bảo vệ

khỏi sự truy cập không an toàn. ü Người

dùng/chương trình phải có quyền thao tác với các đối tượng hệ thống (ví dụ: tệp)
hoặc các thành phần hệ thống (phần mềm, phần cứng).

Tự học

HỆ ĐIỀU HÀNH 2 7
Machine Translated by Google

Kế hoạch

• HĐH: CÁI GÌ và TẠI SAO?

• Phân loại

• Các thành phần chính

• Cấu trúc hệ điều hành

HỆ ĐIỀU HÀNH 2 8
Machine Translated by Google

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


(KIẾN TRÚC ĐƠN GIẢN)

Cấu trúc đơn giản

• Các thành phần hệ điều hành không được phân tách rõ ràng (ví dụ MS-DOS)

• Các chương trình ứng dụng có thể truy cập trực tiếp vào phần cứng máy tính J

Đơn giản và dễ mở rộng L Dễ bị tổn

thương ü Điều gì

sẽ xảy ra nếu một chương trình ứng dụng bị lỗi?

HỆ ĐIỀU HÀNH 2 9
Machine Translated by Google

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


(KIẾN TRÚC MỘT KHỐI)

Cấu trúc nguyên khối

• Các thành phần hệ điều hành được kết hợp thành một mô-đun duy nhất
(ví dụ: hệ thống UNIX

truyền thống) • Mỗi thủ tục (chức năng) có thể gọi bất kỳ thủ

tục nào khác J Đơn

giản và nhanh chóng L Khó triển khai và bảo trì

Người dùng

hạt nhân

HỆ ĐIỀU HÀNH 3 0
Machine Translated by Google

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


(KIẾN TRÚC PHÂN TẦNG)

Cấu trúc phân lớp • Các

thành phần hệ điều hành được cấu trúc thành các lớp (ví dụ: MULTICS)

• Mỗi lớp sử dụng các dịch vụ (thao tác, chức năng) được chuẩn bị bởi lớp

liền kề bên dưới của


nó ü lớp N gọi các dịch vụ được xác

định trong lớp N-1 J Dễ triển khai và bảo trì hơn cấu trúc nguyên

khối L Làm cách nào để nhóm các dịch vụ thành các lớp?
dựa trên chức năng?

L Khi gọi một lời gọi hệ thống, một chương trình người

dùng có thể cần phải trải qua nhiều lớp

à hiệu quả?
HỆ ĐIỀU HÀNH 3 1
Machine Translated by Google

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

Cấu trúc mô-đun

• Một hệ thống bao gồm lõi lõi và các dịch vụ bổ sung được triển
khai dưới dạng các mô-đun được liên kết động (ví dụ: Solaris)

J Dễ dàng thêm dịch vụ mới hơn là sửa đổi kernel

Bảo mật J

L Không phải là một thiết kế rõ ràng

HỆ ĐIỀU HÀNH 3 2
Machine Translated by Google

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


(VI NHÂN)

Cấu trúc vi hạt

• Kernel chỉ lưu trữ các thành phần thiết yếu của hệ điều hành (ví

dụ: Mach) • Các thành phần khác được triển khai dưới dạng

chương trình người dùng J Dễ dàng quản lý, mở rộng và xây

dựng kiến trúc mới J Bảo mật Ứng dụng Tài liệu Thiết bị người dùng

Chương trình Hệ thống Tài xế Chế


người
độ dùng

và Độ tin cậy L Đôi khi có vấn đề về hiệu suất


tin nhắn tin nhắn

Interprocess
quản lý lập
Hạt
nhân
Giao tiếp bộ nhớ lịch CPU cách thức

vi hạt nhân

phần cứng

HỆ ĐIỀU HÀNH 3 3
Machine Translated by Google

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


(KIẾN TRÚC LAI)

Cấu trúc lai


• Sự kết hợp của nhiều cấu trúc khác nhau để giải quyết hiệu suất,

bảo mật và khả năng sử dụng

• Thiết kế phổ biến trong nhiều hệ điều hành hiện đại (ví dụ: Linux, Mac OS X, Windows,

Android)

HỆ ĐIỀU HÀNH 3 4
Hệ thống lai (Mac OS X)
Machine Translated by Google

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

Và khác ...
Máy khách-Máy chủ

Hạt nhân ngoài


Máy ảo 3 5
Machine Translated by Google

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

Và khác ...

3 6
Machine Translated by Google

Người giới thiệu

Khái niệm hệ điều hành ( Phiên bản thứ 8), Silberschatz và Galvin

Hệ điều hành hiện đại ( Ấn bản thứ 4), Andrew S. Tanenbaum

Giáo trình Hệ điều hành HCMUS-FIT

HỆ ĐIỀU HÀNH 3 7
Machine Translated by Google

Chủ đề 1

You might also like