Ủ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ị
TRƯỞNG KHOA
Dương Đình Dũng
Thạc sĩ
TỔ TRƯỞNG
BỘ MƠN
HIỆU TRƯỞNG
DUYỆT
CHỦ NHIỆM
ĐỀ TÀI
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 tố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
BÀI 1 TỔNG QUAN VỀ HỆ ĐIỀU HÀNH .................................................................13
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
III. LỊCH SỬ PHÁT TRIỂN CÁC HỆ ĐIỀU HÀNH ..............................................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
BÀI 2. CẤU TRÚC CỦA HỆ ĐIỀU HÀNH ................................................................24
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
II. CÁC THÀNH PHẦN CỦA HỆ THỐNG ............................................................29
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
II. CÁC DỊCH VỤ CỦA HỆ ĐIỀU HÀNH ..............................................................32
III. LỜI GỌI HỆ THỐNG (SYSTEM CALLS) ........................................................33
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
4. Mơ hình Client-Server ........................................................................................40
Bài 3: QUẢN LÝ TIẾN TRÌNH ...................................................................................44
I. KHÁI NIỆM ...........................................................................................................44
II. TỔ CHỨC QUẢN LÝ TIẾN TRÌNH...................................................................48
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
I. KHÁI NIỆM TIỂU TRÌNH (THREAD) ...............................................................62
II. MƠ HÌNH ĐA TIỂU TRÌNH (MULTITHREAD) ..............................................64
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
I. KHÁI QUÁT VỀ LẬP LỊCH CHO BỘ XỬ LÝ ...................................................70
II. MỤC TIÊU ĐIỀU PHỐI ......................................................................................71
III. CÁC ĐẶC ĐIỂM CỦA TIẾN TRÌNH ...............................................................71
III. ĐIỀU PHỐI KHÔNG ĐỘC QUYỀN VÀ ĐIỀU PHỐI ĐỘC QUYỀN
(PREEMPTIVE/NOPREEMPTIVE) ........................................................................72
IV. Tổ chức điều phối ................................................................................................73
1. Các danh sách sử dụng trong quá trình đ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
2. Chiến lược phân phối xoay vòng (Round Robin) ...............................................77
3. Điều phối với độ ưu tiên .....................................................................................80
4. Chiến lược công việc ngắn nhất (Shortest-job-first SJF) ...................................82
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
II. ĐIỀU KIỆN XUẤT HIỆN TẮC NGHẼN .........................................................89
III. ĐỒ THỊ CẤP PHÁT TÀI NGUYÊN ...............................................................90
IV. CÁC PHƯƠNG PHÁP XỬ LÝ TẮC NGHẼN ...............................................92
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
II. KHÔNG GIAN ĐỊA CHỈ VÀ KHÔNG GIAN VẬT LÝ ..................................105
III. CẤP PHÁT LIÊN TỤC .....................................................................................105
1. Mơ hình Linker_Loader ....................................................................................105
2. Mơ hình Base &Bound .....................................................................................106
IV. CẤP PHÁT KHƠNG LIÊN TỤC .....................................................................108
1. Phân đoạn (Segmentation) ................................................................................108
2. Phân trang (Paging) ..........................................................................................115
3. Phân đoạn kết hợp phân trang (Paged segmentation) .......................................125
Cũng cố bài học ....................................................................................................126
Bài Tập ..................................................................................................................126
BÀI 8: BỘ NHỚ ẢO (VIRTUAL MEMORY) ...........................................................129
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
II. MÔ HÌNH TỔ CHỨC VÀ QUẢN LÝ CÁC TẬP TIN .....................................143
1. Mơ hình .............................................................................................................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
I. KHÁI NIỆM VỀ HỆ THỐNG QUẢN LÝ NHẬP/XUẤT ..................................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
4. DMA (Direct Memory Access) ........................................................................156
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
4. Phần mềm nhập/xuất phạm vi người sử dụng ..................................................160
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
4. RAM Disks .......................................................................................................169
5. Interleave ..........................................................................................................170
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 hố hệ điều hành xử lý theo lơ ....................................................15
Hình 1.3 Hình tượng hố hệ điều hành xử lý theo lơ đa chương ..................................16
Hình 1.4 Hình tượng hố hệ điều hành chia sẻ thời gian. .............................................17
Hình 1.5 Hình tượng hố 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.2 Cấu trúc của hệ điều hành MS DOS (Microsoft Disk Operating System). ....35
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.11 Sơ đồ chuyển tải u cầu trong mơ hình Client/Server. ...............................41
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.4 Kernel mod và user mode . .............................................................................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 4.11 Theard và Process. ........................................................................................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
Hình 6.7 RAG khơng có chu trình.................................................................................91
Trang 9
Giáo trình Hệ Điều Hành
Hình 6.8 Hai trường hợp RAG có chu trình cho hai kết quả. .......................................92
Hình 7.1 Mơ hình cấp phát Linker-Loader. .................................................................106
Hình 7.2 Mơ hình cấp phát Base-Bound Register (Limit). .........................................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.8 Sử dụng STBR, STLR và bảng phân đoạn ...................................................111
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.24 Chuyển đổi địa chỉ dùng bảng trang nghịch đảo ........................................122
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 7.28 Cơ chế phần cứng của sự phân đoạn kết hợp phân trang. ..........................126
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.1 Sự kết nối giữa CPU, bộ nhớ, bộ điều khiểm và các thiết bị nhập/xuất.....155
Hình 10.2 Sơ đồ vận chuyển BUS trong máy tính ......................................................156
Hình 10.3 Vận chuyển DMA được thực hiện bởi bộ điều khiển ................................157
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.13 Mơ hình RAM disk ...................................................................................170
Hình 10.14 Hoạt động Interleave với 4 banks .............................................................170
Hình 10.15 Thứ tự lắp đầy vào các bank trong interleave với (n=4) ..........................171
Hình 10.16 Các loại Terminals ....................................................................................172
Hình 10.17 Terminal RS-232 ......................................................................................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 8.4 Sự thay thế trang khi dùng thuật toán FIFO với 3 khung trang ...................138
Bảng 8.5 Sự thay thế trang khi dùng thuật toán FIFO với 4 khung trang ...................139
Bảng 8.6 Q trình thay thế trang khi dùng thuật tốn NRU ......................................139
Bảng 8.7 Quá trình thay thế trang khi dùng thuật tốn LRU ......................................139
Bảng 9.1 Một số thuộc tính thơng dụng của tập tin ....................................................147
Bảng 10.1 phân lớp và chức năng của từng lớp nhập xuất..........................................152
Bảng 10.2 Bộ điều khiển nhập xuất, địa chỉ cổng và vec-tơ ngắt. ..............................156
Bảng 10.3 Quy trình vận hành vào/ra. .........................................................................159
Bảng 10.4 Tương ứng giữa sector vật lý và sector logic trên đĩa mềm.......................162
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 ngun 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à q 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 ngun
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 số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à hồ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 ngun 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 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 hố 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 ln ln 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
ngồ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 ln ln phải trong tình trạng làm việc .
Hình 1.3 Hình tượng hố 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 ln ln 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 hố 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 tồ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
Bài 1 Tổng quan về hệ điều hành
SIMD (Single Instructions Stream, Multiple Data Stream): Máy tính một dịng
lệnh, nhiều dịng số liệu.
MISD (Multiple Instructions Stream, Single Data Stream):Máy tính nhiều dòng
lệnh, một dòng số liệu.
MIMD (Multiple Instruction Stream, Multiple Data Stream): Máy tính nhiều dịng
lệnh, nhiều dịng số liệu.
Hệ thống đa xử lý thông thường sử dụng cách đa xử lý đối xứng, trong cách này
mỗi bộ xử lý chạy với một bản sao của hệ điều hành, những bản sao này liên lạc với
nhau khi cần thiết. Một số hệ thống sử dụng đa xử lý bất đối xứng, trong đó mỗi bộ xử
lý được giao một cơng việc riêng biệt.. Một bộ xử lý chính kiểm sốt tồn bộ hệ thống,
các bộ xử lý khác thực hiện theo lệnh của bộ xử lý chính hoặc theo những chỉ thị đã
được định nghĩa trước. Mơ hình này theo dạng quan hệ chủ tớ. Bộ xử lý chính sẽ lập
lịch cho các bộ xử lý khác.
Hình 1.6 Mơ hình hệ thống đa xử lý
Hệ thống đa xử lý
Một ví dụ về hệ thống xử lý đối xứng là version Encore của UNIX cho máy tính
Multimax. Hệ thống này có hàng tá bộ xử lý. Ưu điểm của nó là nhiều tiến trình có thể
thực hiện cùng lúc. Một hệ thống đa xử lý cho phép nhiều công việc và tài nguyên được
chia xẻ tự động trong những bộ xử lý khác nhau.
Hệ thống đa xử lý không đồng bộ thường xuất hiện trong những hệ thống lớn,
trong đó hầu hết thời gian hoạt động đều dành cho xử lý nhập xuất.
5 Hệ thống phân tán
Hệ thống này cũng tương tự như hệ thống song song nhưng các bộ xử lý khơng
chia xẻ bộ nhớ và đồng hồ, thay vào đó mỗi bộ xử lý có bộ nhớ cục bộ riêng. Các bộ xử
lý thông tin với nhau thông qua các đường truyền thông như những bus tốc độ cao hay
đường dây điện thoại.
Trang 19
Bài 1 Tổng quan về hệ điều hành
Hình 1.7 Mơ hình hệ thống phân tán.
Các bộ xử lý trong hệ phân tán thường khác nhau về kích thước và chức năng. Nó
có thể bao gồm máy vi tính, trạm làm việc, máy mini, và những hệ thống máy lớn. Các
bộ xử lý thường được tham khảo với nhiều tên khác nhau như site, node, computer v.v....
tùy thuộc vào trạng thái làm việc của chúng.
Các nguyên nhân phải xây dựng hệ thống phân tán là:
❖ Chia xẻ tài nguyên: Một người sử dụng A có thể sử dụng máy in laser của
người sử dụng B và người sử dụng B có thể truy xuất những tập tin của A.
Tổng quát, chia xẻ tài nguyên trong hệ thống phân tán cung cấp một cơ chế
để chia xẻ tập tin ở vị trí xa, xử lý thông tin trong một cơ sở dữ liệu phân tán,
in ấn tại một vị trí xa, sử dụng những thiết bị ở xa để thực hiện các thao tác.
❖ Tăng tốc độ tính tốn: Một thao tác tính tốn được chia làm nhiều phần nhỏ
cùng thực hiện một lúc. Hệ thống phân tán cho phép phân chia việc tính tốn
trên nhiều vị trí khác nhau để tính tốn song song.
❖ An tồn: Nếu một vị trí trong hệ thống phân tán bị hỏng, các vị trí khác vẫn
tiếp tục làm việc.
❖ Thông tin liên lạc với nhau: Có nhiều lúc, chương trình cần chuyển đổi dữ
liệu từ vị trí này sang vị trí khác. Ví dụ trong hệ thống Windows, thường có
sự chia xẻ và chuyển dữ liệu giữa các cửa sổ. Khi các vị trí được nối kết với
nhau trong một hệ thống mạng, việc trao đổi dữ liệu diễn ra rất dễ. Người sử
Trang 20
Bài 1 Tổng quan về hệ điều hành
dụng có thể chuyển tập tin hay các E_mail cho nhau từ cùng vị trí hay những
vị trí khác.
6 Hệ thống xử lý thời gian thực
Hệ thống xử lý thời gian thực được sử dụng khi có những địi hỏi khắt khe về thời
gian trên các thao tác của bộ xử lý hoặc dịng dữ liệu, nó thường được dùng điều khiển
các thiết bị trong các ứng dụng tận hiến (dedicated). Máy tính phân tích dữ liệu và có
thể chỉnh các điều khiển giải quyết cho dữ liệu nhập.
Một hệ điều hành xử lý thời gian thực phải được định nghĩa tốt, thời gian xử lý
nhanh. Hệ thống phải cho kết quả chính xác trong khoảng thời gian bị thúc ép nhanh
nhất. Có hai hệ thống xử lý thời gian thực là hệ thống thời gian thực cứng và hệ thống
thời gian thực mềm..
Hình 1.8 Hệ thống thời gian thực.
Hệ thống thời gian thực cứng là cơng việc được hồn tất đúng lúc. Lúc đó dữ liệu
thường được lưu trong bộ nhớ ngắn hạn hay trong ROM. Việc xử lý theo thời gian thực
sẽ xung đột với tất cả hệ thống liệt kê ở trên.
Dạng thứ hai là hệ thống thời gian thực mềm, mỗi cơng việc có một độ ưu tiên
riêng và sẽ được thi hành theo độ ưu tiên đó. Có một số lĩnh vực áp dụng hữu hiệu
phương pháp này là multimedia hay thực tại ảo.
III. LỊCH SỬ PHÁT TRIỂN CÁC HỆ ĐIỀU HÀNH
1. Thế hệ 1 (1945 - 1955):
Trang 21
Bài 1 Tổng quan về hệ điều hành
Vào những năm 1950 máy tính dùng ống chân khơng ra đời. Ở thế hệ này mỗi máy
tính được một nhóm người thực hiện, bao gồm việc thiết kế, xây dựng chương trình,
thao tác, quản lý, ....
Ở thế hệ này người lập trình phải dùng ngơn ngữ máy tuyệt đối để lập trình. Khái
niệm ngơn ngữ lập trình và hệ điều hành chưa được biết đến trong khoảng thời gian này.
2. Thế hệ 2 (1955 - 1965)
Máy tính dùng bán dẫn ra đời, và được sản xuất để cung cấp cho khách hàng. Bộ
phận sử dụng máy tính được phân chia rõ ràng: 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ì. Ngơn ngữ lập trình Assembly và Fortran ra
đời trong thời kỳ này. Với các máy tính thế hệ này để thực hiện một thao tác, lập trình
viên dùng Assembly hoặc Fortran để viết chương trình trên phiếu đục lỗ sau đó đưa
phiếu vào máy, máy thực hiện cho kết qủa ở máy in.
Hệ thống xử lý theo lô cũng ra đời trong thời kỳ này. Theo đó, các thao tác cần
thực hiện trên máy tính được ghi trước trên băng từ, hệ thống sẽ đọc băng từ , thực hiện
lần lượt và cho kết quả ở băng từ xuất. 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, chương trình này là hệ điều hành sau này.
3. Thế hệ 3 (1965 - 1980)
Máy IBM 360 được sản xuất hàng loạt để tung ra thị trường. Các thiết bị ngoại vi
xuất hiện ngày càng nhiều, do đó các thao tác điều khiển máy tính và thiết bị ngoại vi
ngày càng phức tạp hơn. Trước tình hình này nhu cầu cần có một hệ điều hành sử dụng
chung trên tất cả các máy tính của nhà sản xuất và người sử dụng trở nên bức thiết hơn.
Và hệ điều hành đã ra đời trong thời kỳ này.
Hệ điều hành ra đời nhằm điều phối, kiểm soát hoạt động của hệ thống và giải
quyết các yêu cầu tranh chấp thiết bị. Hệ điều hành đầu tiên được viết bằng ngôn ngữ
Assembly. Hệ điều hành xuất hiện khái niệm đa chương, khái niệm chia sẻ thời gian và
kỹ thuật Spool. Trong giai đoạn này cũng xuất hiện các hệ điều hành Multics và Unix.
4. Thế hệ 4 (từ 1980)
Máy tính cá nhân ra đời. Hệ điều hành MS_DOS ra đời gắn liền với máy tính
IBM_PC. Hệ điều hành mạng và hệ điều hành phân tán ra đời trong thời kỳ này.
Trên đây chúng tơi khơng có ý định trình bày chi tiết, đầy đủ về lịch sử hình thành
của hệ điều hành, mà chúng tôi chỉ muốn mượn các mốc thời gian về sự ra đời của các
thế hệ máy tính để chỉ cho bạn thấy quá trình hình thành của hệ điều hành gắn liền với
quá trình hình thành máy tính. Mục tiêu của chúng tơi trong mục này là muốn nhấn
mạnh với các bạn mấy điểm sau đây:
Trang 22
Bài 1 Tổng quan về hệ điều hành
❖ Các ngôn ngữ lập trình, đặc biệt là các ngơn ngữ lập trình cấp thấp, ra đời
trước các hệ điều hành. Đa số các hệ điều hành đều được xây dựng từ ngơn
ngữ lập trình cấp thấp trừ hệ điều hành Unix, nó được xây dựng từ C, một
ngơn ngữ lập trình cấp cao.
❖ Nếu khơng có hệ điều hành thì việc khai thác và sử dụng máy tính sẽ khó
khăn và phức tạp rất nhiều và không phải bất kỳ ai cũng có thể sử dụng máy
tính được.
❖ Sự ra đời và phát triển của hệ điều hành gắn liền với sự phát triển của máy
tính, và ngược lại sự phát triển của máy tính kéo theo sự phát triển của hệ điều
hành. Hệ điều hành thực sự phát triển khi máy tính PC xuất hiện trên thị
trường.
❖ Ngồi ra chúng tôi cũng muốn giới thiệu một số khái niệm như: hệ thống xử
lý theo lô, hệ thống đa chương, hệ thống chia sẻ thời gian, kỹ thuật Spool, ...,
mà sự xuất hiện của những khái niệm này đánh dấu một bước phát triển mới
của hệ điều hành. Chúng ta sẽ làm rõ các khái niệm trên trong các chương sau
của tài liệu này.
Câu hỏi cũng cố bài học
1. Hệ điều hành là gì?
2. Có mấy loại hệ điều hành? Việc phân loại này dựa trên những tiêu chuẩn nào?
3. 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.
4. Hãy xác định một số hoạt động sau là loại hệ điều hành gì?
a. Bác sĩ khám bệnh cho bệnh nhân tại một phòng khám đa khoa, bệnh nhân xếp
hàng chờ theo số thứ tự, bác sĩ khám bệnh nhân X và yêu cầu bệnh nhân đi làm một số
xét nghiệm, trong khi đó bác sĩ gọi bệnh nhân Y, khi nào xong xét nghiệm X trở lại bác
sĩ khám tiếp.
b. Bác sĩ khám bệnh cho bệnh nhân tại một phòng khám đa khoa, bệnh nhân xếp
hàng chờ theo số thứ tự 1, 2, 3, 4, bác sĩ khám bệnh nhân X 2 phút đuổi ra, gọi tiếp bệnh
nhân Y vào khám 2 phút, đuổi ra gọi tiếp Z vào,… sau khi hết vòng quay lại khác X 2
phút, Y 2 phút, Z 2 phút,… bệnh nhân nào có yêu cầu đi làm một số xét nghiệm, khi nào
xong xét nghiệm trở lại bác sĩ khám tiếp.
c. Bác sĩ khám bệnh cho bệnh nhân tại một phòng khám đa khoa, bệnh nhân xếp
hàng chờ theo số thứ tự, bác sĩ khám bệnh nhân X và yêu cầu bệnh nhân đi làm một số
xét nghiệm, khi nào xong xét nghiệm trở lại bác sĩ khám tiếp, hoàn thành bệnh nhân X,
bác sĩ gọi bệnh nhân Y.
Trang 23