Giáo trình Hệ điều hành (Bậc Cao đẳng)
ỦY BAN NHÂN DÂN THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG CAO ĐẲNG KINH TẾ - KỸ THUẬT
THÀNH PHỐ HỒ CHÍ MINH
GIÁO TRÌNH
HỆ ĐIỀU HÀNH
BẬC
CAO ĐẲNG
(LƯU HÀNH NỘI BỘ)
Tp. HCM – 2017
ỦY BAN NHÂN DÂN THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG CAO ĐẲNG KINH TẾ - KỸ THUẬT THÀNH
PHỐ HỒ CHÍ MINH
GIÁO TRÌNH
HỆ ĐIỀU HÀNH
THÔNG TIN NHÓM BIÊN SOẠN
Chủ biên
Học vị
Dương Đình Dũng
Thạc sĩ
TRƯỞNG KHOA
TỔ TRƯỞNG
CHỦ NHIỆM
ĐỀ TÀI
BỘ MÔN
HIỆU TRƯỞNG
DUYỆT
Giáo trình Hệ Điều Hành
LỜI MỞ ĐẦU
Giáo trình “Hệ điều hành” là tài liệu được biên soạn để phục vụ cho việc giảng
dạy, học tập của giáo viên và sinh viên ngành Công nghệ thông tin, Hệ thống thông tin
bậc cao Đẳng.
Giáo trình cung cấp những kiến thức cơ sở về Cấu trúc, nguyên lý hoạt động, các
thành phần, quản lý bộ nhớ, quản lý tiến trình, hoạt động nhập xuất trên hệ điều hành
máy tính.
Giáo trình được biên soạn theo đề cương học phần “Hệ điều hành” ở bậc cao đẳng
ngành Công nghệ thông tin đã được Hội đồng Khoa học của nhà trường thông qua. Giáo
trình gồm 10 bài:
Bài 1: Tổng quan về hệ điều hành máy tính
Nghiên cứu trọng tâm là phần định nghĩa, các khái niệm ban đầu về hệ điều hành,
phân loại các hệ điều hành đã được áp dụng trong thực tiễn.
Bài 2: Cấu trúc hệ điều hành
Tập trung vào các thành tố hình thành nên hệ điều hành, mô tả sơ lược các thành
phần quản lý tham gia vào hoạt động của hệ điều hành.
Bài 3: Quản lý Tiến trình
Nghiên cứu về khái niệm tiến trình, tổ chức quản lý tiến trình trong máy tính
Bài 4: Tiểu trình (Thread)
Bài học này tập trung vào vấn đề giải quyết luồng thi hành nhằm nâng cao hiệu
suất làm việc trong một chu trình CPU đối với tiến trình.
Bài 5: Điều phối tiến trình
Trong bài này nghiên cứu về các thuật toán điều phối tiến trình hiệu quả trong các
loại hệ điều hành.
Bài 6: Tắt nghẽn (deadlock)
Nghiên cứu về sự tranh chấp tài nguyên trên máy tính, các nguyên nhân gây ra tắt
nghẽn và các phương pháp xác định tắt nghẽn cũng như giải quyết tắt nghẽn.
Bài 7: Quản lý bộ nhớ
Trong bài này cung cấp các khái niệm và phương pháp tổ chức, cấp phát bộ nhớ
trong hệ điều hành.
Bài 8: Bộ nhớ ảo (Virtual Memory)
Trang 1
Giáo trình Hệ Điều Hành
Bài học cung cấp kiến thức về cách tổ chức bộ nhớ trong hệ điều hành hiện đại,
cách thức tổ chức để một máy tính có bộ nhớ vật lý nhỏ, nhưng chạy được chương trình
lớn hơn nhiều lần.
Bài 9: Hệ thống quản lý tập tin
Trình bày vấn đề lưu trữ và tổ chức lưu trữ trên các hệ điều hành
Bài 10: Hệ thống nhập xuất (I/O)
Nghiên cứu các phương pháp nhập xuất trên máy tính, đặc biệt là nhập xuất đĩa
với các thuật toán đọc đĩa.
Mặc dù đã hết sức cố gắng, song do biên soạn lần đầu, giáo trình không tránh khỏi
những thiếu sót. Tác giả xin chân thành cám ơn các đồng nghiệp trường Cao đẳng Kinh
tế-Kỹ thuật Thành phố Hồ Chí Minh - đặc biệt là các thành viên trong tổ Mạng Máy
Tính - đã động viên và góp ý cho công việc viết giáo trình Hệ điều hành này. Tác giả
mong nhận được ý kiến phản hồi của các đồng nghiệp và độc giả về những khiếm khuyết
khó tránh khỏi trong giáo trình này.
Tác giả
Dương Đình Dũng
Trang 2
Giáo trình Hệ Điều Hành
MỤC LỤC
LỜI MỞ ĐẦU .................................................................................................................1
MỤC LỤC.......................................................................................................................3
DANH MỤC HÌNH ........................................................................................................8
DANH MỤC BẢNG .....................................................................................................12
I. KHÁI NIỆM VỀ HỆ ĐIỀU HÀNH.......................................................................13
1. Mở đầu................................................................................................................13
2. Định nghĩa hệ điều hành.....................................................................................14
II. PHÂN LOẠI HỆ ĐIỀU HÀNH............................................................................15
1 Hệ thống xử lý theo lô .........................................................................................15
2. Hệ thống xử lý theo lô đa chương ......................................................................16
3. Hệ thống chia sẻ thời gian ..................................................................................17
4. Hệ thống song song ............................................................................................18
5 Hệ thống phân tán................................................................................................19
6 Hệ thống xử lý thời gian thực..............................................................................21
1. Thế hệ 1 (1945 - 1955): ......................................................................................21
2. Thế hệ 2 (1955 - 1965) .......................................................................................22
3. Thế hệ 3 (1965 - 1980) .......................................................................................22
4. Thế hệ 4 (từ 1980) ..............................................................................................22
Câu hỏi cũng cố bài học..........................................................................................23
I. Một số khái niệm của hệ điều hành........................................................................24
1. Tiến trình (Process) và tiểu trình (Thread) .........................................................24
2. Bộ xử lý lệnh (Shell)...........................................................................................25
3. Sự phân lớp hệ thống (System Layering) ...........................................................25
4. Tài nguyên hệ thống (System Resources) ..........................................................26
5. Lời gọi hệ thống (System Calls).........................................................................28
Trang 3
Giáo trình Hệ Điều Hành
1. Quản lý tiến trình................................................................................................29
2. Quản lý bộ nhớ chính..........................................................................................29
3. Quản lý bộ nhớ phụ ............................................................................................30
4. Quản lý hệ thống nhập xuất................................................................................30
5. Quản lý hệ thống tập tin......................................................................................31
6. Hệ thống bảo vệ..................................................................................................31
7. Hệ thống cơ chế dòng lệnh .................................................................................32
IV. Cấu trúc hệ thống ................................................................................................34
1. Cấu trúc đơn giản................................................................................................34
2. Cấu trúc theo lớp.................................................................................................36
3. Máy ảo ................................................................................................................38
Bài 3: QUẢN LÝ TIẾN TRÌNH ...................................................................................44
I. KHÁI NIỆM...........................................................................................................44
1. Các trạng thái của tiến trình................................................................................48
2. Chế độ xử lý của tiến trình..................................................................................54
3. Cấu trúc dữ liệu khối quản lý tiến trình..............................................................55
4. Thao tác trên tiến trình........................................................................................58
5. Cấp phát tài nguyên cho tiến trình......................................................................60
Cũng cố bài học ......................................................................................................61
BÀI 4. TIỂU TRÌNH (THREAD).................................................................................62
1. Mô hình đa tiểu trình ..........................................................................................64
2. Ưu điểm và hạn chế của cơ chế đa tuyến ...........................................................67
Trang 4
Giáo trình Hệ Điều Hành
Cũng cố bài học ......................................................................................................69
BÀI 5. LẬP LỊCH BỘ XỬ LÝ .....................................................................................70
II. MỤC TIÊU ĐIỀU PHỐI ......................................................................................71
(PREEMPTIVE/NOPREEMPTIVE) ........................................................................72
IV. Tổ chức điều phối................................................................................................73
2. Các cấp độ điều phối...........................................................................................75
V. CÁC CHIẾN LƯỢC ĐIỀU PHỐI........................................................................76
1. Chiến lược FIFO (FCFS)....................................................................................76
3. Điều phối với độ ưu tiên.....................................................................................80
5. Chiến lược điều phối Xổ số (Lottery).................................................................84
Bài tập.....................................................................................................................85
BÀI 6. TẮC NGHẼN (DEADLOCK)...........................................................................87
I. ĐỊNH NGHĨA .....................................................................................................87
V. NGĂN CHẶN TẮC NGHẼN............................................................................92
VI. TRÁNH TẮC NGHẼN ....................................................................................93
VII. PHÁT HIỆN TẮC NGHẼN............................................................................97
VIII. HIỆU CHỈNH TẮC NGHẼN ........................................................................98
Bài tập.....................................................................................................................99
BÀI 7: QUẢN LÝ BỘ NHỚ.......................................................................................101
I. DẪN NHẬP .........................................................................................................101
Trang 5
Giáo trình Hệ Điều Hành
1. Nhiệm vụ của quản lý bộ nhớ...........................................................................101
2. Tổ chức quản lý bộ nhớ ....................................................................................104
III. CẤP PHÁT LIÊN TỤC.....................................................................................105
1. Phân đoạn (Segmentation)................................................................................108
Cũng cố bài học ....................................................................................................126
Bài Tập..................................................................................................................126
I. DẪN NHẬP .........................................................................................................129
1. Khái quát và ngữ cảnh ......................................................................................129
2. Định nghĩa.........................................................................................................130
3. Cài đặt bộ nhớ ảo..............................................................................................132
II. THAY THẾ TRANG..........................................................................................136
1. Sự thi hành phân trang theo yêu cầu.................................................................136
2. Các thuật toán thay thế trang ............................................................................137
Bài Tập..................................................................................................................140
BÀI 9: HỆ THỐNG QUẢN LÝ TẬP TIN..................................................................142
I. CÁC KHÁI NIỆM CƠ BẢN ...............................................................................142
1. Bộ nhớ ngoài.....................................................................................................142
2. Tập tin và thư mục............................................................................................142
3. Hệ thống quản lý tập tin....................................................................................143
2 Các chức năng....................................................................................................149
Trang 6
Giáo trình Hệ Điều Hành
Câu hỏi kiểm tra kiến thức....................................................................................151
BÀI 10: HỆ THỐNG VÀO RA (I/O)..........................................................................152
II. PHẦN CỨNG NHẬP/XUẤT.............................................................................153
1 Thiết bị I/O.........................................................................................................153
2 Tổ chức của chức năng I/O................................................................................154
3. Bộ điều khiển thiết bị........................................................................................154
III. PHẦN MỀM NHẬP/XUẤT..............................................................................157
1. Kiểm soát ngắt ..................................................................................................157
2. Điều khiển thiết bị (device drivers) ..................................................................158
3. Phần mềm nhập/xuất độc lập thiết bị................................................................158
IV. GIỚI THIỆU HỆ THỐNG I/O ĐĨA..................................................................160
1. Một số khái niệm dùng trong quản lý đĩa........................................................160
2. Các điều khiển hệ thống tập tin ........................................................................164
3. Các thuật toán đọc đĩa.......................................................................................166
3. Quản lý lỗi ........................................................................................................168
V. HỆ THỐNG I/O CHUẨN (terminals)................................................................171
1. Phần cứng terminal ...........................................................................................171
2. Terminal ánh xạ bộ nhớ....................................................................................173
3. Phần mềm nhập.................................................................................................174
4. Phần mềm xuất..................................................................................................175
Bài tập...................................................................................................................176
Trang 7
Giáo trình Hệ Điều Hành
DANH MỤC HÌNH
Hình 1.1 Mô hình trừu tượng của hệ thống máy tính....................................................14
Hình 1.2 Hình tượng hoá hệ điều hành xử lý theo lô ....................................................15
Hình 1.4 Hình tượng hoá hệ điều hành chia sẻ thời gian. .............................................17
Hình 1.5 Hình tượng hoá hệ điều hành xử lý song song...............................................18
Hình 1.6 Mô hình hệ thống đa xử lý .............................................................................19
Hình 1.7 Mô hình hệ thống phân tán.............................................................................20
Hình 1.8 Hệ thống thời gian thực..................................................................................21
Hình 2.1 Sự phân lớp hệ thống......................................................................................26
Hình 2.2 Hoạt động của lời gọi hệ thống. .....................................................................33
Hình 2.4 Cấu trúc chi tiết hệ điều hành Linux. .............................................................36
Hình 2.5 Cấu trúc hệ điều hành phân lớp......................................................................36
Hình 2.6 Cấu trúc hệ điều hành THE. ...........................................................................37
Hình 2.6 Cấu trúc hệ điều hành VENUS.......................................................................38
Hình 2.7 Cấu trúc hệ điều hành OS/2 Swap..................................................................38
Hình 2.8 Cấu trúc máy ảo (Virtual Machine)................................................................39
Hình 2.9 So sánh giữa máy thực và máy ảo..................................................................40
Hình 2.10 Sơ đồ cấu trúc Client/Server.........................................................................40
Hình 2.12 Mô hình Client Server trong hệ thống phân tán...........................................42
Hinh 3 1 Mô hình xử lý tuần tự.....................................................................................44
Hinh 3 2 Mô hình xử lý song song................................................................................45
Hinh 3 3 Mô hình đơn tiến trình....................................................................................46
Hinh 3 4 Mô hình đa tiến trình. .....................................................................................47
Hinh 3 5 Mô hình đa tiến trình kết hợp.........................................................................47
Hinh 3 6 Mô hình đa chương.........................................................................................48
Hình 3.7 Sơ đồ chuyển trạng thái tiến trình. .................................................................49
Hình 3.8 Sơ đồ chuyển tiến trình vào hàng đợi.............................................................49
Hình 3.9 Sơ đồ chuyển trạng thái tiến trình 6 bước. .....................................................50
Hình 3.10 Sơ đồ chuyển tiến trình vào các hàng đợi. ...................................................51
Hình 3.11 Sơ đồ chuyển trạng thái tiến trình có suspend..............................................52
Hình 3.11 Sơ đồ chuyển trạng thái tiến trình với 2 suspend. ........................................53
Hình 3.12 Sơ đồ chuyển trạng thái giữa các tiến trình..................................................53
Trang 8
Giáo trình Hệ Điều Hành
Hình 3.13 Hệ điều hành với 2 chế độ xử lý...................................................................55
Hình 3.14 Cấu trúc khối điều khiển tiến trình (PCB)....................................................55
Hình 3.15 Mô tả chi tiết khối điều khiển tiến trình. ......................................................56
Hình 3.16 Ví dụ về hàng đợi I/O và hàng đợi sẵn sàng. ...............................................57
Hình 3.16 Minh hoạ chuyển trạng thái giữa hai tiến trình . ..........................................58
Hình 3.17 Một cây tiến trình trong hệ thống Unix .......................................................59
Hình 3.18 Cấu trúc khối quản lý tài nguyên .................................................................61
Hình 4.1 Minh hoạ tiểu trình . .......................................................................................62
Hình 4.2 Các tiểu trình trong cùng một tiến trình . .......................................................63
Hình 4.3 Phân bổ thông tin trong tiến trình và tiểu trình . ............................................64
Hình 4.5 Mô hình tiểu trình đơn tuyến và đa tuyến. .....................................................65
Hình 4.6 Mô hình chi tiết đa tiểu trình..........................................................................66
Hình 4.7 Mô hình đa tiểu trình Apartment-Threading. .................................................66
Hình 4.8 Mô hình đa tiểu trình Free-Threading. ...........................................................67
Hình 4.9 Mô hình đa tiểu trình chia sẻ dữ liệu..............................................................67
Hình 4.10 Mô hình Tắt nghẽn – Deadlock....................................................................68
Hình 5.1 Các danh sách điều phối.................................................................................74
Hình 5.2 Sơ đồ chuyển đổi giữa các danh sách điều phối.............................................75
Hình 5.3 Cấp độ điều phối trung gian. ..........................................................................76
Hình 5.4 Điều phố FIFO (FSFS). ..................................................................................76
Hình 5.5 Điều phối các tiến trình theo chiến lược FIFO...............................................77
Hình 5.7 Điều phối Round Robin..................................................................................78
Hình 5.8 Kết quả điều phối Round Robin.....................................................................79
Hình 5.9 Điều phối theo độ ưu tiên độc quyền..............................................................81
Hình 5.10 Điều phối theo độ ưu tiên không độc quyền. ...............................................81
Hình 5.11 Kết quả điều phối SJF độc quyền.................................................................83
Hình 5.12 Kết quả điều phối SJF không độc quyền......................................................83
Hình 6.1 Minh hoạ cho vấn đề tắt nghẽn.......................................................................87
Hình 6.2 Tắc nghẽn giao thông. ....................................................................................88
Hình 6.3 Tắt nghẽn trên cầu. .........................................................................................88
Hình 6.4 Tắt nghẽn trên cổng máy in............................................................................89
Hình 6.5 Bữa ăn tối của các triết gia. ............................................................................89
Hình 6.6 Ký hiệu quy ước đồ thị cấp phát tài nguyên...................................................90
Trang 9
Giáo trình Hệ Điều Hành
Hình 7.1 Mô hình cấp phát Linker-Loader..................................................................106
Hình 7.3 Hai thanh ghi hổ trợ chuyển đổi địa chỉ. ......................................................107
Hình 7.4 Phân mảnh ngoại vi. .....................................................................................108
Hình 7.5 Mô hình phân đoạn bộ nhớ...........................................................................109
Hình 7.6 Cơ chế phần cứng hổ trợ kĩ thuật phân đoạn................................................110
Hình 7.7 Hệ thống phân đoạn......................................................................................110
Hình 7.9 Chia sẻ code trong hệ phân đoạn..................................................................112
Hình 7.10 Quản lý bộ nhớ bằng bảng các bit..............................................................112
Hình 7.11 Quản lý bộ nhớ bằng danh sách..................................................................113
Hình 7.12 Cấp phát theo First Fit. ...............................................................................114
Hình 7.13 Cấp phát theo Best Fit. ...............................................................................114
Hình 7.14 Cấp phát theo Worst Fit..............................................................................114
Hình 7.15 Mô hình bộ nhớ phân trang ........................................................................115
Hình 7.16 Cơ chế MMU trong tổ chức phân trang. ....................................................116
Hình 7.17 Mô hình bộ nhớ phân trang ........................................................................117
Hình 7.18 Sử dụng thanh ghi nền trỏ đến bảng trang..................................................117
Hình 7.19 Phân trang dùng kỹ thuật TLB ...................................................................118
Hình 7.20 Cấu trúc bảng trang 2 cấp...........................................................................119
Hình 7.21 Bảng trang nhị cấp......................................................................................120
Hình 7.22 Tổ chức bit trong bảng trang 2 cấp.............................................................120
Hình 7.23 Lược đồ chuyển đổi địa chỉ ........................................................................121
Hình 7.25 Bảo vệ trang bằng bit valid/invalid ............................................................123
Hình 7.26 Chia sẻ các trang trong hệ phân trang ........................................................124
Hình 7.27 Mô hình phân đoạn kế hợp phân trang.......................................................125
Hình 8.1 Mô hình tổ chức bộ nhớ ảo...........................................................................132
Hình 8.2 Bảng trang với một số trang trên bộ nhớ phụ...............................................135
Hình 8.3 Các giai đoạn xử lý lỗi trang ........................................................................136
Hình 8.4 Cấu trúc một phần tử trong bảng trang.........................................................136
Hình 9.1 Cấu trúc tập tin nhị phân trong Unix............................................................145
Hình 9.2 Truy xuất tuần tự trên tập tin........................................................................146
Hình 9.3 Hai dạng cấu trúc thư mục............................................................................148
Trang 10
Giáo trình Hệ Điều Hành
Hình 9.4 Hệ thống thư mục theo cấp bậc. ...................................................................149
Hình 10.2 Sơ đồ vận chuyển BUS trong máy tính......................................................156
Hình 10.4 Sơ đồ cấu trúc đĩa cứng ..............................................................................161
Hình 10.5 FSD cục bộ .................................................................................................164
Hình 10.6 FSD mạng..................................................................................................165
Hình 10.7 Phương pháp FCFS ....................................................................................166
Hình 10.8 Phương pháp SSTF.....................................................................................167
Hình 10.9 Phương pháp SCAN ...................................................................................167
Hình 10.10 Phương pháp C-SCAN .............................................................................168
Hình 10.11 Phương pháp LOOK.................................................................................168
Hình 10.12 Tổ chức RAM disks..................................................................................169
Hình 10.14 Hoạt động Interleave với 4 banks.............................................................170
Hình 10.16 Các loại Terminals....................................................................................172
Hình 10.18 Terminal ánh xạ bộ nhớ............................................................................173
Hình 10.19 Ánh xạ màn hình. .....................................................................................174
Hình 10.20 Hai dạng cấu trúc dữ liệu Terminal..........................................................175
Trang 11
Giáo trình Hệ Điều Hành
DANH MỤC BẢNG
Bảng 5.1 Dữ liệu 3 tiến trình cho điều phố FIFO..........................................................76
Bảng 5.2 Dữ liệu 3 tiến trình cho điều phố Round Robin.............................................79
Bảng 5.3 Dữ liệu 3 tiến trình cho điều phố theo độ ưu tiên. .........................................80
Bảng 5.4 Dữ liệu 3 tiến trình cho điều phố SJF. ...........................................................83
Bảng 5.5 Bảng dữ liệu điều phối CPU ..........................................................................85
Bảng 5.6 Bảng dữ liệu điều phối CPU ..........................................................................85
Bảng 6.1 Dữ liệu hệ thống.............................................................................................95
Bảng 6.2 Thực hiện tính Need.......................................................................................95
Bảng 6.3 Chọn tiến trình cấp phát đầu tiên (P4). ..........................................................95
Bảng 6.4 Chọn tiến trình cấp phát thứ 2 (P1)................................................................96
Bảng 6.5 Chọn tiến trình cấp phát thứ 3 (P2)................................................................96
Bảng 6.6 Chọn tiến trình cấp phát thứ 4 (P3)................................................................97
Bảng 6.7 Dữ liệu hệ thống cho bài tập 1 .......................................................................99
Bảng 6.8 Dữ liệu hệ thống cho bài tập 2 .....................................................................100
Bảng 7.1 Quy định bit cho kích thước trang. ..............................................................116
Bảng 7.2 Bảng phân đoạn cho bài tập 13....................................................................128
Bảng 8.1 Các kiểu tổ chức cấp phát bộ nhớ. ...............................................................133
Bảng 8.3 Sự thay thế trang theo thuật toán FIFO........................................................138
Bảng 9.1 Một số thuộc tính thông dụng của tập tin ....................................................147
Bảng 10.3 Quy trình vận hành vào/ra..........................................................................159
Trang 12
Bài 1 Tổng quan về hệ điều hành
BÀI 1 TỔNG QUAN VỀ HỆ ĐIỀU HÀNH
Mục tiêu:
– Trình bày được khái niệm và phân loại được các hệ điều hành dùng trong máy tính
– Trình bày được đặc điểm của hệ điều hành qua các thời kỳ
– Phân loại được hệ điều hành
– Nhận biết được đặc tính và nguyên lý của một hệ điều hành cụ thể
– So sánh được đặc điểm của từng loại hệ điều hành.
– Lựa chọn đúng đắn hệ điều hành cho từng công việc
Tóm lược:
➢ Bài học này cung cấp cho sinh viên một cái nhìn tổng quát về những nguyên lý
cơ bản của hệ điều hành.
➢ Bài học này giúp sinh viên hiểu được hệ điều hành là gì. Hệ điều hành được phân
loại theo những tiêu chuẩn nào. Quá trình phát triển của hệ điều hành phụ thuộc
vào những yếu tố nào.
Nội dung:
I. KHÁI NIỆM VỀ HỆ ĐIỀU HÀNH
1. Mở đầu
Nếu không có phần mềm, máy tính chỉ là một thiết bị điện tử thông thường. Với
sự hỗ trợ của phần mềm, máy tính có thể lưu trữ, xử lý thông tin và người sử dụng có
thể gọi lại được thông tin này. Phần mềm máy tính có thể chia thành nhiều loại: chương
trình hệ thống, quản lý sự hoạt động của chính máy tính. Chương trình ứng dụng, giải
quyết các vấn đề liên quan đến việc sử dụng và khai thác máy tính của người sử dụng.
Hệ điều hành thuộc nhóm các chương trình hệ thống và nó là một chương trình hệ thống
quan trọng nhất đối với máy tính và cả người sử dụng. Hệ điều hành điều khiển tất cả
các tài nguyên của máy tính và cung cấp một môi trường thuận lợi để các chương trình
ứng dụng do người sử dụng viết ra có thể chạy được trên máy tính. Trong chương này
chúng ta xem xét vai trò của hệ điều hành trong trường hợp này.
Một máy tính hiện đại có thể bao gồm: một hoặc nhiều processor, bộ nhớ chính,
clocks, đĩa, giao diện mạng, và các thiết bị vào/ra khác. Tất cả nó tạo thành một hệ thống
phức tạp. Để viết các chương trình để theo dõi tất cả các thành phần của máy tính và sử
dụng chúng một cách hiệu quả, người lập trình phải biết processor thực hiện chương
trình như thế nào, bộ nhớ lưu trữ thông tin như thế nào, các thiết bị đĩa làm việc (ghi/đọc)
như thế nào, lỗi nào có thể xảy ra khi đọc một block đĩa, … đây là những công việc rất
Trang 13
Bài 1 Tổng quan về hệ điều hành
khó khăn và quá khó đối với người lập trình. Nhưng rất may cho cả người lập trình ứng
dụng và người sử dụng là những công việc trên đã được hệ điều hành hỗ trợ nên họ
không cần quan tâm đến nữa. Chương này cho chúng ta một cái nhìn tổng quan về những
gì liên quuan đến việc thiết kế cài đặt cũng như chức năng của hệ điều hành để hệ điều
hành đạt được mục tiêu: Giúp người sử dụng khai thác máy tính dễ dàng và chương trình
của người sử dụng có thể chạy được trên máy tính.
2. Định nghĩa hệ điều hành
Hệ điều hành là một chương trình hay một hệ chương trình hoạt động giữa người
sử dụng (user) và phần cứng của máy tính. Mục tiêu của hệ điều hành là cung cấp một
môi trường để người sử dụng có thể thi hành các chương trình. Nó làm cho máy tính dể
sử dụng hơn, thuận lợi hơn và hiệu quả hơn.
Hệ điều hành là một phần quan trọng của hầu hết các hệ thống máy tính. Một hệ
thống máy tính thường được chia làm bốn phần chính: phần cứng, hệ điều hành, các
chương trình ứng dụng và người sử dụng.
Phần cứng bao gồm CPU, bộ nhớ, các thiết bị nhập xuất, đây là những tài nguyên
của máy tính.
Chương trình ứng dụng như các chương trình dịch, hệ thống cơ sở dữ liệu, các
trò chơi, và các chương trình thương mại. Các chương trình này sử dụng tài nguyên của
máy tính để giải quyết các yêu cầu của người sử dụng.
Hệ điều hành điều khiển và phối hợp việc sử dụng phần cứng cho những ứng dụng
khác nhau của nhiều người sử dụng khác nhau. Hệ điều hành cung cấp một môi trường
mà các chương trình có thể làm việc hữu hiệu trên đó.
Người dùng: là người sử dụng máy
Hình 1.1 Mô hình trừu tượng của hệ thống máy tính
Hệ điều hành có thể được coi như là bộ phân phối tài nguyên của máy tính. Nhiều
tài nguyên của máy tính như thời gian sử dụng CPU, vùng bộ nhớ, vùng lưu trữ tập tin,
Trang 14
Bài 1 Tổng quan về hệ điều hành
thiết bị nhập xuất v.v… được các chương trình yêu cầu để giải quyết vấn đề. Hệ điều
hành hoạt động như một bộ quản lý các tài nguyên và phân phối chúng cho các chương
trình và người sử dụng khi cần thiết. Do có rất nhiều yêu cầu, hệ điều hành phải giải
quyết vấn đề tranh chấp và phải quyết định cấp phát tài nguyên cho những yêu cầu theo
thứ tự nào để hoạt động của máy tính là hiệu quả nhất. Một hệ điều hành cũng có thể
được coi như là một chương trình kiểm soát việc sử dụng máy tính, đặc biệt là các thiết
bị nhập xuất.
Tuy nhiên, nhìn chung chưa có định nghĩa nào là hoàn hảo về hệ điều hành. Hệ
điều hành tồn tại để giải quyết các vấn đề sử dụng hệ thống máy tính. Mục tiêu cơ bản
của nó là giúp cho việc thi hành các chương trình dễ dàng hơn. Mục tiêu thứ hai là hỗ
trợ cho các thao tác trên hệ thống máy tính hiệu quả hơn. Mục tiêu này đặc biệt quan
trọng trong những hệ thống nhiều người dùng và trong những hệ thống lớn (phần cứng
+ quy mô sử dụng). Tuy nhiên hai mục tiêu này cũng có phần tương phản vì vậy lý
thuyết về hệ điều hành tập trung vào việc tối ưu hóa việc sử dụng tài nguyên của máy
tính.
II. PHÂN LOẠI HỆ ĐIỀU HÀNH
1 Hệ thống xử lý theo lô
Trong giai đoạn 1955 – 1965, 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ữ.
Hình 1.2 Hình tượng hoá hệ điều hành xử lý theo lô
– Bộ giám sát thường trực:
Khi một công việc chấm dứt, hệ thống sẽ thực hiện công việc kế tiếp mà không
cần sự can thiệp của người lập trình, do đó thời gian thực hiện sẽ mau hơn. Một chương
trình, còn gọi là bộ giám sát thường trực được thiết kế để giám sát việc thực hiện dãy
Trang 15
Bài 1 Tổng quan về hệ điều hành
các công việc một cách tự động, chương trình này luôn luôn thường trú trong bộ nhớ
chính.
Hệ điều hành theo lô thực hiện các công việc lần lượt theo những chỉ thị định trước.
– CPU và thao tác nhập xuất:
CPU thường hay nhàn rỗi do tốc độ làm việc của các thiết bị nhập xuất (thường là
thiết bị cơ) chậm hơn rất nhiều lần so với các thiết bị điện tử. Cho dù là một CPU chậm
nhất, nó cũng nhanh hơn rất nhiều lần so với thiết bị nhập xuất. Do đó phải có các
phương pháp để đồng bộ hóa việc hoạt động của CPU và thao tác nhập xuất.
Xử lý off_line:
Xử lý off_line là thay vì CPU phải đọc trực tiếp từ thiết bị nhập và xuất ra thiết bị
xuất, hệ thống dùng một bộ lưu trữ trung gian. CPU chỉ thao thác với bộ phận này. Việc
đọc hay xuất đều đến và từ bộ lưu trữ trung gian.
Spooling:
Spool (simultaneous peripheral operation on-line) là đồng bộ hóa các thao tác bên
ngoài on-line. Cơ chế này cho phép xử lý của CPU là on-line, sử dụng đĩa để lưu các dữ
liệu nhập cũng như xuất.
2. Hệ thống xử lý theo lô đa chương
Khi có nhiều công việc cùng truy xuất lên thiết bị, vấn đề lập lịch cho các công
việc là cần thiết. Khía cạnh quan trọng nhất trong việc lập lịch là khả năng đa chương.
Đa chương (multiprogram) gia tăng khai thác CPU bằng cách tổ chức các công việc sao
cho CPU luôn luôn phải trong tình trạng làm việc .
Hình 1.3 Hình tượng hoá hệ điều hành xử lý theo lô đa chương
Ý tưởng Hệ thống xử lý theo lô đa chương như sau : hệ điều hành lưu giữ một
phần của các công việc ở nơi lưu trữ trong bộ nhớ . CPU sẽ lần lượt thực hiện các phần
công việc này. Khi đang thực hiện, nếu có yêu cầu truy xuất thiết bị thì CPU không nghỉ
mà thực hiện tiếp công việc thứ hai…
Trang 16
Bài 1 Tổng quan về hệ điều hành
Với hệ đa chương hệ điều hành ra quyết định cho người sử dụng vì vậy, hệ điều
hành đa chương rất tinh vi. Hệ phải xử lý các vấn đề lập lịch cho công việc, lập lịch cho
bộ nhớ và cho cả CPU nữa.
Khi có nhiều công việc cùng truy xuất lên thiết bị, vấn đề lập lịch cho các công
việc là cần thiết. Khía cạnh quan trọng nhất trong việc lập lịch là khả năng đa chương.
Đa chương (multiprogram) gia tăng khai thác CPU bằng cách tổ chức các công việc sao
cho CPU luôn luôn phải trong tình trạng làm việc.
Ý tưởng như sau: hệ điều hành lưu giữ một phần của các công việc ở nơi lưu trữ
trong bộ nhớ. CPU sẽ lần lượt thực hiện các phần công việc này. Khi đang thực hiện,
nếu có yêu cầu truy xuất thiết bị (chẳn hạn I/O) thì CPU không nghỉ mà thực hiện
tiếp công việc thứ hai…
Với hệ đa chương hệ điều hành ra quyết định cho người sử dụng vì vậy, hệ điều
hành đa chương rất tinh vi. Hệ phải xử lý các vấn đề lập lịch cho công việc, lập lịch
cho bộ nhớ và cho cả CPU.
3. Hệ thống chia sẻ thời gian
Hệ thống chia sẻ thời gian là một mở rộng logic của hệ đa chương. Hệ thống này
còn được gọi là hệ thống đa nhiệm (multitasking). Nhiều công việc cùng được thực
hiện thông qua cơ chế chuyển đổi của CPU như hệ đa chương nhưng thời gian mỗi lần
chuyển đổi diễn ra rất nhanh.
Hình 1.4 Hình tượng hoá hệ điều hành chia sẻ thời gian.
Hệ thống chia sẻ được phát triển để cung cấp việc sử dụng bên trong của một máy
tính có giá trị hơn. Hệ điều hành chia sẻ thời gian dùng lập lịch CPU và đa chương để
cung cấp cho mỗi người sử dụng một phần nhỏ trong máy tính chia sẻ. Một chương trình
khi thi hành được gọi là một tiến trình. Trong quá trình thi hành của một tiến trình, nó
phải thực hiện các thao tác nhập xuất và trong khoảng thời gian đó CPU sẽ thi hành một
tiến trình khác. Hệ điều hành chia sẻ cho phép nhiều người sử dụng chia sẻ máy tính
Trang 17
Bài 1 Tổng quan về hệ điều hành
một cách đồng bộ do thời gian chuyển đổi nhanh nên họ có cảm giác là các tiến trình
đang được thi hành cùng lúc.
Hệ điều hành chia sẻ phức tạp hơn hệ điều hành đa chương. Nó phải có các chức
năng: quản trị và bảo vệ bộ nhớ, sử dụng bộ nhớ ảo. Nó cũng cung cấp hệ thống tập tin
truy xuất on-line…
Hệ điều hành chia sẻ là kiểu của các hệ điều hành hiện đại ngày nay.
4. Hệ thống song song
Ngoài các hệ thống chỉ có một bộ xử lý còn có các hệ thống có nhiều bộ xử lý cùng
chia xẻ hệ thống đường truyền dữ liệu, đồng hồ, bộ nhớ và các thiết bị ngoại vi. Các bộ
xử lý này liên lạc bên trong với nhau.
Có nhiều nguyên nhân xây dựng dạng hệ thống này. Với sự gia tăng số lượng bộ
xử lý, công việc được thực hiện nhanh chóng hơn, Nhưng không phải theo đúng tỉ lệ
thời gian, nghĩa là có n bộ xử lý không có nghĩa là sẽ thực hiện nhanh hơn n lần.
Hình 1.5 Hình tượng hoá hệ điều hành xử lý song song
Hệ thống với máy nhiều bộ xử lý sẽ tối ưu hơn hệ thống có nhiều máy có một bộ
xử lý vì các bộ xử lý chia xẻ các thiết bị ngoại vi, hệ thống lưu trữ, nguồn … và rất thuận
tiện cho nhiều chương trình cùng làm việc trên cùng một tập hợp dữ liệu.
Một lý do nữa là độ tin cậy. Các chức năng được xử lý trên nhiều bộ xử lý và sự
hỏng hóc của một bộ xử lý sẽ không ảnh hưởng đến toàn bộ hệ thống.
Các máy tính có thể sắp xếp vào 4 loại sau:
SISD (Single Instructions Stream, Single Data Stream): Máy tính một dòng lệnh,
một dòng số liệu.
Trang 18
Tải về để xem bản đầy đủ
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Hệ điều hành (Bậc Cao đẳng)", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
giao_trinh_he_dieu_hanh_bac_cao_dang.pdf

