Bài giảng Nhập môn tin học - Chương 14: Hệ điều hành cung cấp cho người học các kiến thức: Khái niệm hệ điều hành, quản lý tiến trình, quản lý bộ nhớ, quản lý tập tin, quản lý thiết bị, bảo mật, sự thông dịch câu lệnh, cấu trúc hệ điều hành, một số hệ điều hành phổ biến. Mời các bạn cùng tham khảo.
Trang 1CHUONG 14
HE DIEU HANH
Trang 3Khải niệm hệ điêu hành
e Hé diéu hanh (Operating system-OS) la mét phan
mém hệ thông gồm các chương trình kiểm sốt
các ngn tài ngun (CPU, bộ nhớ, thiết bị vào/ra, ) và điêu khiển các hoạt động của một hệ
thông máy tính và cung cấp cho người dùng một giao diện để tương tác với máy tính
e Hai mục tiêu chính của một hệ điêu hành:
° Tạo một hệ thông máy tính thuận tiện dé sử
dụng
Trang 6Khái niệm hệ điều hành
Ví dụ
2 The word processing
application signals the printer Dyiver
operating system that a
document must be sent = —————
to the printer ae _ aa P 4, The device driver
controls the printer as
it prints the document
1 You issue the Print command while using
application software, such as a word processor
3 The operating system communicates the document data to the device driver for the printer
Trang 7Các công việc của hệ điều hành
= Manage processor resources
Manage memory
Keep track of storage resources
ee Ensure that input and output proceed in an orderly manner
Trang 8Khái niệm hệ điều hành
Hệ thông đo lường
1 Thơng lượng
2 Thời gian hồn thành
Trang 10Quan ly tién trinh (processes)
Phụ thuộc vào khả năng của hệ điều hành và phân
cứng máy tính, tiễn trình có thể được quản ly theo
multitasking (da nhiém), multithreading (da luông),
va multiprocessing (da xu lý)
Multitasking: thực hiện nhiều chương trình cùng
một lúc trên một hệ máy tính
Multithreading: cho phép nhiều phần hay nhiều
tuyên đoạn (threads) đồng hành để giải quyết
nhiều việc cùng một lúc
Multiprocessing: là máy tính có nhiều bộ xử lý có
khả năng hỗ trợ phân chia thực hiện mỗi công trên
Trang 11Quan ly tién trinh
wT "
- Là các tiễn trình được gửi đến hệ thông theo một
cơ chế nào đó đề giảm thiêu thời gian nhàn rỗi của
Trang 12Quan li tién trinh trong hé thong so
khai
Một tiên trình thực thi theo các bước sau:
¡ Lập trình viên việt chương trình lên giấy
2 Chương trình được đục lỗ trên những thẻ hay
dải giây dài
3 Lớp phủ của thẻ hoặc dải giây có chứa chương
trình và dữ liệu được gửi tại bộ tiêp nhận của
Trang 13Quan lí tiên trình trong hệ thông sơ khai
4 Bộ điều khiển sẽ đưa dữ liệu trên các thẻ hay dải giây nạp thủ công vào hệ thông từ đầu đọc thẻ hoặc đâu đọc dải giấy trên
Bộ điều khiển cũng phản hồi để nạp bất kì tài
nguyên phân mêm khác hoặc điều chỉnh thiết
bị phân cứng được yêu câu cho việc thực thi
tiên trình này
- Trước khi nạp tiễn trình, bộ điêu khiển sử dụng
bảng điêu khiển chuyên đổi ở mặt ngoài của hệ
thông máy tính để làm sạch bộ nhớ chính và
xóa những dữ liệu còn lại của tiễn trình trước
Trang 14Quan li tién trinh trong hé thong so
khai
Trang 15Quan li tién trinh trong hé thong so
khai
- Phương thức tự động luân chuyên các công việc
là nhóm các tiễn trình, các tiên trình thường
được thực hiện theo cách sau:
¡ Lập trình viên chuẩn bị các chương trình và dữ liệu trên thẻ hoặc dải giây và gửi chúng vào bộ tiếp nhận của trung tâm máy tính
2 Bộ xử lí tống hợp định kì tật cả những chương
trình được gửi đên và sẽ nhóm chúng với nhau,
sau đó nạp tất cả chúng vào thiết bị đầu vào của
Trang 16Quan li tién trinh trong hé thong so
khai
3 Bộ xử lí ra lệnh tới hệ thống để bắt đầu thực
hiện các công việc
4 Các công việc tự động tải dữ liệu từ các thiết bị
đầu vào và thực hiện từng tiên trình một mà không có bất kì sự can thiệp của bộ xử lí nào 5 Khi tat cả các tiên trình trong nhóm được gửi
đên đã được xử lí, bộ xử lí sẽ xử lý riêng biệt
và xuất kết quả của mỗi công việc và giữ chúng
Trang 18Cac loai tién trinh
Co 2 loai tién trinh:
e Cac tién trinh gidi han CPU: cac tiên trình thực
hiện tính toán số học, với một ít hoạt động I/O
Chúng sử dụng CPU nhiều trong suốt quá trình
xử lí
-e Các tiên trình giới hạn I/O: các tiên trình
thường nhập vào số lượng dữ liệu lớn, hoạt động tính toán thì rất ít, và số lượng thông tin
đầu ra lớn Chúng sử dụng CPU rất ít và hầu hết
Trang 19wT Quan ly tién trinh Mam memory 5 | †
š Operatmg system OS area
——— User job User program area
—> CPU
Chương trình hệ thông chỉ thực thi một công việc tại một thời điểm va
tất cả tài nguyên hệ thống thì độc quyền cho công việc này cho đến
Trang 20Đa chương (đa kênh)
‹ Hệ đa chương là thực thi xen kẽ hai hoặc nhiều tiên trình khác nhau và độc lập nhau trên máy
tính
e Cac tién trình cùng lúc thường trú ở bộ nhớ
chính, khi một tiễn trình thực thi (sử dụng CPU), bắt đầu hoạt động I/O thi CPU được cấp phát cho một tiễn trình khác trong bộ nhớ chính để
giảm việc nhàn rỗi của CPU
- Hệ đa kênh thì không được khai báo để thực thi
những chỉ thị từ nhiều chương trình cùng một
lúc CPU thực thi tôi ưu chỉ một chỉ thị tại một
Trang 22Đa chương (đa kênh)
Hình 14.5 Ba trạng thái khác nhau mà những công việc có thê âược nạp vào
Trang 23Đa chương (đa kênh)
Yêu câu của hệ thông đa chương
1 Bộ nhớ lớn
2 Sự bảo vệ bộ nhớ đề ngăn ngừa một tiền trình
thay đôi thông tin hoặc dữ liệu truyên vào { vùng của bộ nhớ khi một tiên trình khác đang xử lý hay truy xuất dữ liệu tại vùng nhớ này 3 Duy trì trạng thái tiên trình
4 Hòa trộn tiên trình một cách đúng đắn
Trang 25Xt ly da luéng (Multithreading)
e Mét tién trình gồm có một địa chỉ và một hay
nhiêu luồng điều khiến
- Mỗi một luông của tiên trình có bộ đêm chương trình riêng, trạng thái đăng ký riêng, ngăn xếp
(stack) riêng của nó
e Tat cả các luông của tiên trình đều được dùng
chung một địa chỉ
e Cac luéng chia sẻ các biên toàn cục dùng
chung
- Các luông của tiên trình chia sẻ bộ tài nguyên
Trang 26Xt ly da luéng (Multithreading) Địa chỉ trống ‘Thead ứ (b)
Trang 27Xt ly da luéng (Multithreading)
Động cơ đề dùng đa các luông
e Tổng phí liên quan đến việc tạo ra một tiễn trình, nó sử dụng địa chỉ từ chính tiên trình của nó mà không cân phải được tạo ra từ vùng làm việc
e Tổng phí liên quan đến chuyển đổi CPU giữa
những luông ngang hàng là rât nhỏ so với chuyên
đổi CPU giữa những tiên trình có địa chỉ riêng
-e Nguôn tài nguyên chia sẻ giữa các luông của một
Trang 28Đa xử ly (Multiprocessing)
e M6 ta may tính hoặc câu hình máy tính liên kết với hai CPU trở lên có khả năng đồng thời cùng
Trang 30Đa xử ly (Multiprocessing)
Da xt? li co 2 kiéu:
e Hé thống liên kết chặt chẽ: là một hệ thông đơn,
Trang 31Đa xử ly (Multiprocessing) Sự khác nhau giữa đa chương và đa xử li Đa chương Multitasking Đa xử lý Multiprocessing
Là sự thực thị đan xen nhau
giữa hai hay nhiêu tiên trình bởi hệ thông máy tính có 1
CPU
Là sự thực hiện đồng thời
hai hay nhiều tiên trình bởi hệ thông máy tính có nhiều hơn một CPU Thi hành một đoạn của một chương trình, sau đó là một mang khác của chương trình khác , trong khoảng
thời gian ngắn liên tục Thị hành cùng một lúc
nhiều phân đoạn chương trình của một hay nhiều
chương trình khác nhau
Trang 32Đa xử ly (Multiprocessing)
Thuận lợi của “đa xử lý” e Nang suat tốt hơn
e Bo tin cay cao hon
Hạn chế của “đa xử lý”
°_ Đòi hỏi phải có một hệ điều hành hệt sức tinh vi đề đưa vao chương trinh, cân băng và phôi hợp
đầu vao, đầu ra và các tiên trình được kích hoạt
của nhiêu bộ vi xử lý
e Thiết kê của hệ điều hành là một công việc phức
tạp và tôn nhiêu thời gian
Trang 33Chia se thoi gian (time-sharing)
e Chia se thoi gian là một phương thức mà hệ thông máy tính được nhiều người sử dụng cùng một lúc theo cách mà mỗi người đều có cảm
giác như là mình đang có một máy tính riêng
eỔ Một hệ thông chia sẻ thời gian có nhiều người
dùng cuối thực hiện kết nỗi đồng thời đến cùng
một máy tính
e Đặc tính đa chương cho phép nhiều chương
Trang 34Chia se thoi gian (time-sharing)
Trang 35Chia se thoi gian (time-sharing)
Những yêu câu của hệ chia sẻ thời gian - Kết nối đầu cuỗi đồng thời đến hệ thông
- Một bộ nhớ tương đối lớn để hỗ trợ đa chương
- _ Thiết bị bảo vệ bộ nhớ đề ngăn các tiễn trình và dữ liệu đến từ
các tiên trình khác trong môi trường đa chương
- _ Thiết bị bảo quản tình trạng tiễn trình đề duy trì trạng thái
thông tin khi CPU đem đên và khôi phục lại dữ liệu trước khi
CPU vận hành lại
- Một thuật toán lịch biểu CPU ấn định thời gian của từng CPU
đên môi tiên trình người dùng theo kiêu vòng tròn
Trang 36Chia se thoi gian (time-sharing)
Ưu điểm của hệ thống Time-sharing
-_ Giảm thời gian nhàn rỗi của CPU e Thời gian đáp ứng nhanh
Trang 37Quan lí bộ nhớ
Mô hình bộ nhớ đơn kênh
eỔ Chỉ một công việc được xử lí bởi hệ thống tại một
thời điểm và tất cả tài nguyên hệ thống chỉ dành riêng cho công việc này cho đến khi nó hoàn tất
e Hệ điều hành nạp một chương trình từ ỗ đĩa vào
trong bộ nhớ và thực thi nó Khi tiễn trình hoàn
thành, hệ điều hành dọn dẹp sạch vùng nhớ và nạp
Trang 39Quan lí bộ nhớ
Mô hình bộ nhớ đa kênh
-_ Đa chương với số lượng những phân vùng bộ
nhớ cô định:
- Vùng sử dụng của bộ nhớ được chia thành một số
các phân vùng có kích thước cô định
s_ Các phân vùng này có thê có kích thước bằng nhau
hoặc không bằng nhau, nhưng kích thước của mỗi
phân vùng là cô định
- _ Mỗi phân vùng có thể chứa chính xác một tiễn trình
- _ Tại một thoi diém chỉ có n tiễn trình có thể được
Trang 40Quan lí bộ nhớ Mô hình bộ nhớ đa kênh —+— Operating system area Operating system Vv A Partition 1 Partition 2
User area divided into —
n equal-sized partitions Partition 3 Partition n
Hinh14.12 = M6 hinh bé nhé da chuong trinh voi sé dinh cua
Trang 41Quan lí bộ nhớ
Mô hình bộ nhớ đa kênh
Hệ đa chương với số lượng phân vùng biên đổi:
-_ Số lượng, kích thước và vị trí của những phân vùng
biên đổi linh động tương ứng với những tiễn trình
tới và đi
e Khi qua trình đến, phân vùng bộ nhớ sẽ được cấp phát và chỉ định, kích thước chính xác theo yêu câu bộ nhớ của quá trình mà nó được cập phát
-e Theo yêu cầu bộ nhớ của các quá trình khác nhau,
các bộ nhớ trồng sẽ tạo thành một khôi nhớ liên tục Hệ điều hành duy trì một bảng theo dõi của bộ nhớ
Trang 42Quan lí bộ nhớ
Khi một quá trình mới đến, hệ điều hành tìm kiêm một bộ nhớ đủ lớn cho quá trình này
Nếu bộ nhớ quá lớn, nó sẽ tách ra làm 2 phân
-_ Một phân đủ lớn để đáp ứng nhu câu về bộ nhớ và cấp
phát cho quá trình
- Một phân bộ nhớ còn lại được đưa vào bộ nhớ trông trong
bảng theo dõi của hệ điều hành
Khi một quá trình kết thúc, nó sẽ giải phóng bộ nhớ được cấp phát trước đó
Nếu bộ nhớ được giải phóng nằm sát ngay các bộ nhớ trông, nó sẽ trộn với các bộ nhớ trỗng này
Trang 43Sự phần mảnh bộ nhớ
Phân mảnh ngoại
e Phân mảnh ngoại là khi toàn bộ bộ nhớ còn trỗng
đủ đáp ứng cho một tiên trình, nhưng vẫn còn có
một vài quá trình không thê được nạp vào vì các bộ
nhớ trỗng có khả năng đáp ứng lại không nằm sát
với nhau
5s Phân mảnh ngoại phụ thuộc vào toàn bộ bộ nhớ
chính và yêu cầu bộ nhớ cân thiết của tiên trình Sự
Trang 44Sự phần mảnh bộ nhớ
Phân mảnh nội
e La khi quá trình đên bộ nhớ chỉ định mà bộ nhớ đó
lớn hơn nhu câu thực tê nên bộ nhớ dư thừa không
dùng đến Phân mảnh nội xảy ra trong các trường hop sau:
„ Khi hệ thông sử dụng số lượng nhất định của một phân
vùng bộ nhớ cô định, bất cứ nơi nào trong phân vùng đó vượt quá yêu câu bộ nhớ của quá trình nạp vào thì nó trở
thành phân mảnh nội trong bộ nhớ
> Khi hệ thông sử dụng số lượng bộ nhớ khác với kích
Trang 46~ Su phan manh bo nho
Khu vực của hệ điều | Hiệu Điêu Hành hành quá trình 1 ˆ , sxxxx>xxzzzzx>zzzzzzxxx„| Phần vùng thứ 1 “bi fy 2 hfe ⁄⁄⁄⁄ z⁄2| chỉ định cho quá thôn dược sử 2/4 tình thứ 1
khu vực sử d u vực sử dụng Milde With: ‡
chia đâu kích thước Z trì trình 2 su Ä ,
Trang 47Su phan mảnh bộ nhớ
Phân trang
-Ổ Bộ nhớ vật lý của hệ thông máy tính được phan chia thành các khối có kích thước cô định gọi là
khung trang
‹Ổ Toàn bộ bộ nhớ được yêu câu cho một quá trình (bao gồm cả câu trúc và dữ liệu của nó) được phân
chia thành các khối có kích thước giỗng nhau gọi là
các trang
- _ Kích thước của mỗi trang có thể từ 1KB đến 8KB và
Trang 48Sự phần mảnh bộ nhớ
2e Khi một quá trình thực thi, nó được nạp vào bộ nhớ, các
trang của nó được nạp vào các khung trang trỗng đã có
sẵn và một bảng ánh xạ được sắp xếp sẵn đề theo dõi
các trang của một quá trình được nạp vào bên trong
khung trang của bộ nhớ
-e _ Đề đảm bảo địa chỉ bộ nhớ đúng trong trường hợp phân
trang, mỗi địa chỉ được tạo ra bởi CPU thì được chia làm
2 phân bao gồm số trang và độ dời trang
e Bang trang được sử dụng để chứa thông tin của số
khung trang tương ứng với số trang, và độ dời trang kết
Trang 49Su phan manh bo nhc trang cua qua trinh trang O trang 1 trang 2 trang 3 trang 4 : trang 5 trước khi tải sau khi tải số khung trang Me vào số khung trang O O 1 1 + số trang số khung trang O 2 trang 3 3 4 O zz trang 1 4 1 4 = 2 8 5 6 3 9 6 5 12 8 8
bảng trang được tạo
9 cho qua trinh 9 10 LO 1] trang 4 11 12 trang 5 l3 Lời 13 14 14
định vị phân vùng bộ nhớ vật lý thành khung trang trước khi tải quá trình (khung trang trống được biết như những dãy lộn xôn}
định vị trí phân vùng bộ nhớ vật lý sau khi tải quá trình vào (khung trang còn trống được biết như những dãy lộn xôn)