Networks Business Online Việt Nam & International VH2

Bài giảng: Slide Môn Nguyên Lý Hệ Điều Hành Chương 1. – Tài liệu text

Đăng ngày 04 October, 2022 bởi admin

Bài giảng: Slide Môn Nguyên Lý Hệ Điều Hành Chương 1.

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (405.43 KB, 33 trang )

LOGO

Nguyên lý hệ điều hành
(Operating System Concepts)
Giảng viên: Nguyễn Bá Nghiễn, PhD
Bộ môn: Kỹ thuật và mạng máy tính
Số điện thoại: 01643017220
Email: [email protected]

1

LOGO

Nguyên lý hệ điều hành
(Operating System Concept
Thời lượng: 3 TC (2 LT + 1 BTL)
Tài liệu học tập:
1.Giáo trình nguyên lý hệ điều hành
của trường Đại học công nghiệp HN
2. Galvin, Operating system
concepts 8th edition

2

LOGO

Chương I:

Nhập môn hệ điều

hành

3

LOGO

Nội dung
1

Các thành phần của máy tính

2

Một số khái niệm

3

Lịch sử phát triển

4

Chức năng

4

LOGO

Nội dung (tiếp)

5

Thành phần

6

Phân loại

7

Tính chất

8

Nguyên tắc thiết kế

5

LOGO

1.1. Các thành phần của máy tính
– Phần cứng: CPU (Central
Processing Unit), bộ nhớ
trong, bộ nhớ ngoài, thiết
bị nhập xuất, thiết bị giao
tiếp mạng, …
– Phần mềm: các chương
trình ứng dụng cụ thể,

các chương trình hệ
thống và tiện ích

6

LOGO

1.2. Khái niệm
1.2.1 Khái niệm hệ điều hành
Hệ điều hành là chương trình trung
gian giữa phần cứng máy tính và
người sử dụng, có chức năng điều
khiển phần cứng và cung cấp các
dịch vụ cơ bản cho các ứng dụng.
– Mục đích:
+ Giúp người sử dụng dễ dàng sử
dụng hệ thống
+ Quản lý và cấp phát tài nguyên
hệ thống 1 cách hiệu quả.
7

LOGO

1.2. Khái niệm (tiếp)
1.2.2 Một số khái niệm khác
a.

Nhân hệ điều hành (kernel)
Nhân là thành phần cốt lõi, thành phần trung tâm của
hầu hết các hệ điều hành máy tính và thường xuyên
được nạp vào trong bộ nhớ
Kích thước của nhân càng to thì càng chứa nhiều
thành phần.
+ Nhân chạy trong chế độ đặc quyền
+ Các chương trình bình thường chạy trong chế độ
người dùng

8

LOGO

2. Khái niệm (tiếp)
1.2.2 Một số khái niệm khác
b. Bộ xử lý lệnh (Shell)
– Shell là 1 bộ phận hay 1 tiến trình đặc biệt của hệ điều
hành, nó có nhiệm vụ nhận lệnh của người sử dụng,
phân tích lệnh và phát sinh tiến trình mới để thực hiện
yêu cầu của lệnh, tiến trình mới này gọi là tiến trình đáp
ứng yêu cầu.
– Shell nhận lệnh qua cơ chế dòng lệnh, đó chính là nơi
giao tiếp giữa người sử dụng và hệ điều hành, mỗi hệ
điều hành khác nhau có cơ chế dòng lệnh khác nhau.
VD: MS-DOS: C:\>
Tập tin Command.com là shell của MS-DOS

9

LOGO

2. Khái niệm (tiếp)
1.2.2 Một số khái niệm khác
c. Lời gọi hệ thống (System call)
– Để các chương trình máy tính có thể giao tiếp với hệ
điều hành thì hệ điều hành cung cấp các lời gọi hệ
thống. Chương trình của người sử dụng dùng các lời gọi
hệ thống này để liên lạc với hệ điều hành và yêu cầu các
dịch vụ từ hệ điều hành.
– Lời gọi hệ thống được thiết lập dưới dạng các câu lệnh
trong các ngôn ngữ lập trình cấp thấp
– Phân biệt: Shell # System call ?
+ Shell: người sử dụng_hệ điều hành
+ System call: chương trình người sử dụng_hệ điều
hànhs
10

LOGO

2. Khái niệm (tiếp)
1.2.2 Một số khái niệm khác
d. Chương trình, tiến trình và tiểu trình (Program, process
and Thread)
– Chương trình là 1 thực thể thụ động, chứa đựng các chỉ
thị điều khiển máy tính để tiến hành 1 tác vụ nào đó. Khi

cho thực hiện các chỉ thị này chương trình chuyển thành
tiến trình.
– Tiến trình là trạng thái động của chương trình, là 1 bộ
phận của chương trình đang thực thi. Để 1 tiến trình
hoạt động thì hệ thống phải cung cấp đủ tài nguyên cho
tiến trình trong suốt quá trình. Tiến trình gồm 2 loại: tiến
trình của hệ điều hành và tiến trình của người sử dụng
11

LOGO

2. Khái niệm (tiếp)
1.2.2 Một số khái niệm khác

d. Chương trình, tiến trình và tiểu trình (Program, process
and Thread)
– Tiểu trình là 1 đơn vị xử lý cơ bản trong hệ thống. Một
tiến trình có thể bao gồm nhiều tiểu trình. Các tiểu trình
chia sẻ một không gian địa chỉ chung, có nghĩa là các
tiểu trình có thể chia sẻ các biến toàn cục của tiến trình.

12

LOGO

1.3 Lịch sử phát triển
1.3.1 Thế hệ 1 (1945-1955)
– Máy tính dùng bóng chân không

– Chưa có hệ điều hành và ngôn ngữ lập trình
1.3.2 Thế hệ 2 (1955-1965)
– Máy tính dùng bán dẫn ra đời
– Ngôn ngữ lập trình ra đời: Assembly và Fortan
– Để thực hiện 1 thao tác, lập trình viên dùng ngôn ngữ
lập trình Assembly hoặc Fortan để viết 1 chương trình
trên phiếu đục lỗ sau đó đưa phiếu này vào máy, kết quả
được xuất ra ở máy in.
– Thời điểm này hệ thống xử lý theo lô ra đời. Tức là các
thao tác cần thực hiện được ghi vào băng từ theo thứ tự
lần lượt và cho kết quả ở băng từ xuất
13

LOGO

1.3 Lịch sử phát triển (tiếp)
1.3.3 Thế hệ 3 (1965 -1980)
– IBM sản xuất 1 lượng lớn máy tính IBM 360 tung ra thị
trường → Số lượng các thiết bị ngoại vi, các thao tác
điều khiển máy tính ngày càng phức tạp → Cần 1
chương trình có khả năng giải quyết các tranh chấp thiết
bị → Hệ điều hành ra đời
– Hệ điều hành đầu tiên được viết bằng ngôn ngữ
Assembly
– Giai đoạn này đánh dấu sự ra đời của Multic và Unix
1.3.4 Thế hệ 4 (1980-nay)
– Máy tính cá nhân phát triển mạnh mẽ
– Hệ điều hành phát triển phong phú và đa dạng
14

LOGO

1.4 Chức năng
– Định thời: phân chia thời gian xử lý trên CPU
– Phối hợp và đồng bộ hoạt động giữa các tiến trình
– Quản lý tài nguyên hệ thống hiệu quả
– Kiểm soát quá trình truy cập, bảo vệ hệ thống
– Cung cấp giao diện làm việc thuận lợi cho người dùng
(dòng lệnh, đồ họa)

15

LOGO

1.5. Thành phần
1.5.1 Quản lý tiến trình
– Tạo lập, hủy bỏ các tiến trình
– Tạm dừng, tái kích hoạt tiến trình
– Tạo cơ chế thông tin liên lạc giữa các tiến trình
– Tạo cơ chế đồng bộ hóa giữa các tiến trình
1.5.2 Quản lý bộ nhớ
– Cấp phát, thu hồi vùng nhớ
– Ghi nhận trạng thái nhớ chính
– Bảo vệ bộ nhớ
– Quyết định tiến trình nào được nạp vào bộ nhớ

16

LOGO

1.5. Thành phần (tiếp)
1.5.3 Quản lý nhập/xuất
– Gửi mã lệnh điều khiển đến các thiết bị
– Tiếp nhận yêu cầu ngắt từ các thiết bị
– Phát hiện và xử lý lỗi
1.5.4 Quản lý bộ nhớ phụ (đĩa ngoài)
– Quản lý không gian trống trên đĩa
– Định vị lưu trữ thông tin trên đĩa
– Lập lịch cho vấn đề ghi/đọc thông tin trên đĩa của đầu từ

17

LOGO

1.5 Thành phần (tiếp)
1.5.5 Quản lý tệp tin
– Tạo hoặc xóa 1 tệp tin, thư mục
– Bảo vệ tập tin khi có hiện tượng truy xuất đồng thời
– Cung cấp các thao tác xử lý và bảo vệ tệp tin
– Tạo mối quan hệ giữa tệp tin và bộ nhớ phụ chứa tệp tin
– Tạo cơ chế truy xuất tập thông tin thông qua tên tệp tin
1.5.6 Thông dịch lệnh (Shell)
– Là bộ phận quan trọng của hệ điều hành vì đóng vai trò
giao tiếp giữa hệ điều hành và người sử dụng
18

LOGO

1.5. Thành phần (tiếp)
1.5.7 Bảo vệ, an ninh hệ thống
– Điều khiển tài nguyên dùng chung giữa các tiến trình
sao cho tại 1 thời điểm tài nguyên này được cấp phát
cho tiến trình này thì sẽ không bị tiến trình khác tranh
chấp
– Giới hạn truy xuất không hợp lệ lên vùng nhớ của các
tiến trình
– Cung cấp cơ chế kiểm soát đăng nhập/đăng xuất
– Phân định được sự truy cập tài nguyên hợp pháp và
bất hợp pháp

19

LOGO

1.6. Phân loại
1.6.1 Hệ điều hành xử lý theo lô (Batch Processing OS)
– Các tác vụ được đưa vào hàng chờ
– Máy tính thực hiện tuần tự các tác vụ của người sử
dụng

20

6. Phân loại (tiếp)

LOGO

1.6.2 Hệ điều hành đa chương
(Multiprogramming OS)
– Hệ thống chứa đồng thời nhiều
chương trình trong bộ nhớ
– Khi 1 chương trình phải dừng lại
để thực hiện vào/ra, hệ điều hành
sẽ chuyển CPU sang thực hiện 1
chương trình khác
– Thời gian chờ đợi của CPU trong
hệ thống giảm đáng kể
– Đòi hỏi sự hỗ trợ và phối hợp
phức tạp của phần cứng
21

LOGO

6. Phân loại (tiếp)
1.6.2 Hệ điều hành đa chương (Multiprogramming)

22

LOGO

6. Phân loại (tiếp)

1.6.3 Hệ điều hành chia sẻ thời gian (Time-share OS)
– CPU lần lượt thực hiện các công việc khác nhau trong

các khoảng thời gian ngắn gọi là lượng tử thời gian
– Tốc độ CPU và tần số chuyển đổi giữa các công việc diễn

ra lớn
 Người dùng có cảm giác máy tính chỉ đang thực hiện

công việc của mình

Hệ điều hành chia sẻ thời gian là mở rộng logic của hệ
điều hành đa chương vì vậy nó còn được gọi là hệ điều
hành đa nhiệm (Multitasking)
23

LOGO

6. Phân loại (tiếp)
1.6.3 Hệ điều hành chia sẻ thời gian (Time-share OS)

24

LOGO

6. Phân loại (tiếp)
1.6.4 Hệ điều hành cho máy tính cá nhân

– Là hệ điều hành phục vụ cho từng máy tính đơn lẻ
– Mục tiêu:
+ Thuận lợi cho người sử dụng và khả năng tương tác
cao
+ Không cần tối ưu hiệu suất sử dụng CPU và thiết bị
ngoại vi

25

hànhLOGONội dungCác thành phần của máy tínhMột số khái niệmLịch sử phát triểnChức năngLOGONội dung ( tiếp ) Thành phầnPhân loạiTính chấtNguyên tắc thiết kếLOGO1. 1. Các thành phần của máy tính – Phần cứng : CPU ( CentralProcessing Unit ), bộ nhớtrong, bộ nhớ ngoài, thiếtbị nhập xuất, thiết bị giaotiếp mạng, … – Phần mềm : những chươngtrình ứng dụng đơn cử, những chương trình hệthống và tiện íchLOGO1. 2. Khái niệm1. 2.1 Khái niệm hệ điều hànhHệ điều hành là chương trình trunggian giữa phần cứng máy tính vàngười sử dụng, có công dụng điềukhiển phần cứng và cung ứng cácdịch vụ cơ bản cho những ứng dụng. – Mục đích : + Giúp người sử dụng thuận tiện sửdụng mạng lưới hệ thống + Quản lý và cấp phát tài nguyênhệ thống 1 cách hiệu suất cao. LOGO1. 2. Khái niệm ( tiếp ) 1.2.2 Một số khái niệm kháca. Nhân hệ điều hành ( kernel ) Nhân là thành phần cốt lõi, thành phần TT củahầu hết những hệ điều hành máy tính và thường xuyênđược nạp vào trong bộ nhớKích thước của nhân càng to thì càng chứa nhiềuthành phần. + Nhân chạy trong chế độ đặc quyền + Các chương trình thông thường chạy trong chế độngười dùngLOGO2. Khái niệm ( tiếp ) 1.2.2 Một số khái niệm khácb. Bộ giải quyết và xử lý lệnh ( Shell ) – Shell là 1 bộ phận hay 1 tiến trình đặc biệt quan trọng của hệ điềuhành, nó có trách nhiệm nhận lệnh của người sử dụng, nghiên cứu và phân tích lệnh và phát sinh tiến trình mới để thực hiệnyêu cầu của lệnh, tiến trình mới này gọi là tiến trình đápứng nhu yếu. – Shell nhận lệnh qua chính sách dòng lệnh, đó chính là nơigiao tiếp giữa người sử dụng và hệ điều hành, mỗi hệđiều hành khác nhau có chính sách dòng lệnh khác nhau. VD : MS-DOS : C : \ > Tập tin Command. com là shell của MS-DOSLOGO2. Khái niệm ( tiếp ) 1.2.2 Một số khái niệm khácc. Lời gọi mạng lưới hệ thống ( System call ) – Để những chương trình máy tính hoàn toàn có thể tiếp xúc với hệđiều hành thì hệ điều hành cung cấp những lời gọi hệthống. Chương trình của người sử dụng dùng những lời gọihệ thống này để liên lạc với hệ điều hành và nhu yếu cácdịch vụ từ hệ điều hành. – Lời gọi mạng lưới hệ thống được thiết lập dưới dạng những câu lệnhtrong những ngôn từ lập trình cấp thấp – Phân biệt : Shell # System call ? + Shell : người sử dụng_hệ điều hành + System call : chương trình người sử dụng_hệ điềuhànhs10LOGO2. Khái niệm ( tiếp ) 1.2.2 Một số khái niệm khácd. Chương trình, tiến trình và tiểu trình ( Program, processand Thread ) – Chương trình là 1 thực thể thụ động, tiềm ẩn những chỉthị điều khiển và tinh chỉnh máy tính để thực thi 1 tác vụ nào đó. Khicho triển khai những thông tư này chương trình chuyển thànhtiến trình. – Tiến trình là trạng thái động của chương trình, là 1 bộphận của chương trình đang thực thi. Để 1 tiến trìnhhoạt động thì mạng lưới hệ thống phải phân phối đủ tài nguyên chotiến trình trong suốt quy trình. Tiến trình gồm 2 loại : tiếntrình của hệ điều hành và tiến trình của người sử dụng11LOGO2. Khái niệm ( tiếp ) 1.2.2 Một số khái niệm khácd. Chương trình, tiến trình và tiểu trình ( Program, processand Thread ) – Tiểu trình là 1 đơn vị chức năng giải quyết và xử lý cơ bản trong mạng lưới hệ thống. Mộttiến trình hoàn toàn có thể gồm có nhiều tiểu trình. Các tiểu trìnhchia sẻ một khoảng trống địa chỉ chung, có nghĩa là cáctiểu trình hoàn toàn có thể san sẻ những biến toàn cục của tiến trình. 12LOGO1. 3 Lịch sử phát triển1. 3.1 Thế hệ 1 ( 1945 – 1955 ) – Máy tính dùng bóng chân không – Chưa có hệ điều hành và ngôn từ lập trình1. 3.2 Thế hệ 2 ( 1955 – 1965 ) – Máy tính dùng bán dẫn sinh ra – Ngôn ngữ lập trình sinh ra : Assembly và Fortan – Để thực thi 1 thao tác, lập trình viên dùng ngôn ngữlập trình Assembly hoặc Fortan để viết 1 chương trìnhtrên phiếu đục lỗ sau đó đưa phiếu này vào máy, kết quảđược xuất ra ở máy in. – Thời điểm này mạng lưới hệ thống giải quyết và xử lý theo lô sinh ra. Tức là cácthao tác cần triển khai được ghi vào băng từ theo thứ tựlần lượt và cho hiệu quả ở băng từ xuất13LOGO1. 3 Lịch sử tăng trưởng ( tiếp ) 1.3.3 Thế hệ 3 ( 1965 – 1980 ) – IBM sản xuất 1 lượng lớn máy tính IBM 360 tung ra thịtrường → Số lượng những thiết bị ngoại vi, những thao tácđiều khiển máy tính ngày càng phức tạp → Cần 1 chương trình có năng lực xử lý những tranh chấp thiếtbị → Hệ điều hành sinh ra – Hệ điều hành tiên phong được viết bằng ngôn ngữAssembly – Giai đoạn này lưu lại sự sinh ra của Multic và Unix1. 3.4 Thế hệ 4 ( 1980 – nay ) – Máy tính cá thể tăng trưởng can đảm và mạnh mẽ – Hệ điều hành tăng trưởng đa dạng chủng loại và đa dạng14LOGO1. 4 Chức năng – Định thời : phân loại thời hạn giải quyết và xử lý trên CPU – Phối hợp và đồng điệu hoạt động giải trí giữa những tiến trình – Quản lý tài nguyên mạng lưới hệ thống hiệu suất cao – Kiểm soát quy trình truy vấn, bảo vệ mạng lưới hệ thống – Cung cấp giao diện thao tác thuận tiện cho người dùng ( dòng lệnh, đồ họa ) 15LOGO1. 5. Thành phần1. 5.1 Quản lý tiến trình – Tạo lập, hủy bỏ những tiến trình – Tạm dừng, tái kích hoạt tiến trình – Tạo chính sách thông tin liên lạc giữa những tiến trình – Tạo chính sách đồng nhất hóa giữa những tiến trình1. 5.2 Quản lý bộ nhớ – Cấp phát, tịch thu vùng nhớ – Ghi nhận trạng thái nhớ chính – Bảo vệ bộ nhớ – Quyết định tiến trình nào được nạp vào bộ nhớ16LOGO1. 5. Thành phần ( tiếp ) 1.5.3 Quản lý nhập / xuất – Gửi mã lệnh điều khiển và tinh chỉnh đến những thiết bị – Tiếp nhận nhu yếu ngắt từ những thiết bị – Phát hiện và giải quyết và xử lý lỗi1. 5.4 Quản lý bộ nhớ phụ ( đĩa ngoài ) – Quản lý khoảng trống trống trên đĩa – Định vị tàng trữ thông tin trên đĩa – Lập lịch cho yếu tố ghi / đọc thông tin trên đĩa của đầu từ17LOGO1. 5 Thành phần ( tiếp ) 1.5.5 Quản lý tệp tin – Tạo hoặc xóa 1 tệp tin, thư mục – Bảo vệ tập tin khi có hiện tượng kỳ lạ truy xuất đồng thời – Cung cấp những thao tác giải quyết và xử lý và bảo vệ tệp tin – Tạo mối quan hệ giữa tệp tin và bộ nhớ phụ chứa tệp tin – Tạo chính sách truy xuất tập thông tin trải qua tên tệp tin1. 5.6 Thông dịch lệnh ( Shell ) – Là bộ phận quan trọng của hệ điều hành vì đóng vai trògiao tiếp giữa hệ điều hành và người sử dụng18LOGO1. 5. Thành phần ( tiếp ) 1.5.7 Bảo vệ, bảo mật an ninh mạng lưới hệ thống – Điều khiển tài nguyên dùng chung giữa những tiến trìnhsao cho tại 1 thời gian tài nguyên này được cấp phátcho tiến trình này thì sẽ không bị tiến trình khác tranhchấp – Giới hạn truy xuất không hợp lệ lên vùng nhớ của cáctiến trình – Cung cấp chính sách trấn áp đăng nhập / đăng xuất – Phân định được sự truy vấn tài nguyên hợp pháp vàbất hợp pháp19LOGO1. 6. Phân loại1. 6.1 Hệ điều hành giải quyết và xử lý theo lô ( Batch Processing OS ) – Các tác vụ được đưa vào hàng chờ – Máy tính triển khai tuần tự những tác vụ của người sửdụng206. Phân loại ( tiếp ) LOGO1. 6.2 Hệ điều hành đa chương ( Multiprogramming OS ) – Hệ thống chứa đồng thời nhiềuchương trình trong bộ nhớ – Khi 1 chương trình phải dừng lạiđể thực thi vào / ra, hệ điều hànhsẽ chuyển CPU sang thực thi 1 chương trình khác – Thời gian chờ đón của CPU tronghệ thống giảm đáng kể – Đòi hỏi sự tương hỗ và phối hợpphức tạp của phần cứng21LOGO6. Phân loại ( tiếp ) 1.6.2 Hệ điều hành đa chương ( Multiprogramming ) 22LOGO6. Phân loại ( tiếp ) 1.6.3 Hệ điều hành san sẻ thời hạn ( Time-share OS ) – CPU lần lượt thực thi những việc làm khác nhau trongcác khoảng chừng thời hạn ngắn gọi là lượng tử thời hạn – Tốc độ CPU và tần số quy đổi giữa những việc làm diễnra lớn  Người dùng có cảm xúc máy tính chỉ đang thực hiệncông việc của mìnhHệ điều hành san sẻ thời hạn là lan rộng ra logic của hệđiều hành đa chương thế cho nên nó còn được gọi là hệ điềuhành đa nhiệm ( Multitasking ) 23LOGO6. Phân loại ( tiếp ) 1.6.3 Hệ điều hành san sẻ thời hạn ( Time-share OS ) 24LOGO6. Phân loại ( tiếp ) 1.6.4 Hệ điều hành cho máy tính cá thể – Là hệ điều hành ship hàng cho từng máy tính đơn lẻ – Mục tiêu : + Thuận lợi cho người sử dụng và năng lực tương táccao + Không cần tối ưu hiệu suất sử dụng CPU và thiết bịngoại vi25

Source: https://vh2.com.vn
Category : Ứng Dụng