BAI 1
TỔNG QUAN VỀ HỆ ĐIỀU HÀNH
I. KHÁI NIỆM
1. Hệ điều hành là gì?
- Hđh là hệ chương trình hoạt động giữa người sử dụng và phần cứng của máy tính.
- HĐH giúp thi hành các chương trình, làm cho máy tính dễ sử dụng và hiệu quả hơn.
2. Các thành phần của một hệ thống máy tính
- Phần cứng : CPU, bộ nhớ, các thiết bị nhập xuất,…
- 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
- Các chương trình ứng dụng: 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
- Người sử dụng
Mô hình trừu tượng của hệ thống máy tính
II. PHÂN LOẠI HỆ ĐIỀU HÀNH
1. Hệ thống xử lý theo lô:
Tại một thời điểm có một công việc trong bộ nhớ. Khi thực hiện xong một công việc, công việc
khác sẽ được tự động nạp vào và cho thực thi. Có một chương trình, gọi là bộ giám sát, giám
sát việc thực hiện dãy 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 và chính là hđh thô sơ nhất.
2. Hệ thống xử lý đa chương (multiprogram):
Tại một thời điêm có nhiều công việc trong bộ nhớ và khi một công việc đang thực hiện, nếu
có yêu cầu nhập/xuất thì CPU không nghỉ mà hệ thống sẽ thực hiện tiếp công việc khác. 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 CPU.
1
3. Hệ thống xử lý đa nhiệm (multitasking)
Là mở rộng của hệ đa chương. Mỗi công việc được thực hiện luân phiên qua cơ chế chuyển
đổi CPU, thời gian mỗi lần chuyển đổi diễn ra rất nhanh nên có cảm giác là các công việc đang
được thi hành cùng lúc.
4. Hệ thống đa xử lý (hệ thống xử lý song song)
-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.
• Ưu điểm:
-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
-Hệ thống sẽ thực hiện rất nhanh do thực hiện các công việc đồng thời trên các bộ xử lý khác
nhau.
- Có hai loại hệ thống đa xử lý
-Hệ thống đa xử lý đối xứng: mỗi bộ xử lý chạy với một bản sao của hệ điều hành và các bộ xử
lý là ngang cấp.
-Hệ thống đa xử lý bất đối xứng: Có một bộ xử lý chính kiểm soát, lập lịch cho các bộ xử lý khác.
5. Hệ thống xử lý phân tán
-Tương tự như hệ thống đa xử lý nhưng mỗi bộ xử lý có bộ nhớ cục bộ riêng. Các bộ xử lý liên
lạc với nhau thông qua các đường truyền dữ liệu. Mạng LAN, WAN là hệ xử lý phân tán.
-Ưu điểm:
-Chia xẻ tài nguyên : máy in, tập tin …
-Tăng tốc độ tính toán : phân chia công việc để tính toán trên nhiều vị trí khác nhau
-An toàn : Nếu một vị trí bị hỏng, các vị trí khác vẫn tiếp tục làm việc.
-Truyền thông tin dễ dàng: download/upload file, gởi/nhận mail,…
6. Hệ thống xử lý thời gian thực
-Hệ thống phải cho kết quả chính xác trong khoảng thời gian nhanh nhất.
-Có hai loại:
-Hệ thống thời gian thực cứng: công việc được hoàn tất đúng lúc.
-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.
III. CÁC CHỨC NĂNG CỦA HĐH
1. Quản lý tiến trình
• Tiến trình là một chương trình đang ở trong bộ nhớ . Một hệ thống có thể có nhiều tiến trình,
một số tiến trình là của hệ điều hành, một số tiến trình là của người sử dụng.
• Khi tiến trình được tạo ra hay trong khi đang thi hành, tiến trình được hđh cung cấp tài nguyên
như CPU, bộ nhớ, tập tin, các thiết bị nhập xuất. Khi tiến trình kết thúc, hệ điều hành sẽ thu
hồi lại các tài nguyên.
• Nhiệm vụ của hđh
- Tạo và hủy các tiến trình của người sử dụng và của hệ thống.
- Tạm ngưng và thực hiện lại một tiến trình.
- Cung cấp cơ chế đồng bộ tiến trình.
- Cung cấp cơ chế liên lạc giữa các tiến trình.
- Cung cấp cơ chế kiểm soát tắc nghẽn.
2. Quản lý bộ nhớ chính
2
-Lưu giữ thông tin về các vị trí trong bộ nhớ đã sử dụng và tiến trình nào đang sử dụng.
-Quyết định tiến trình nào được nạp vào bộ nhớ chính.
-Cấp phát và thu hồi bộ nhớ khi cần thiết.
3. Quản lý bộ nhớ phụ :
-Quản lý vùng trống trên đĩa.
-Định vị vị trí dữ liệu.
-Lập lịch cho đĩa.
4. Quản lý hệ thống nhập xuất :
Một hệ thống nhập/xuất bao gồm :
-Hệ thống bộ nhớ đệm (buffer caching)
-Chương trình điều khiển thiết bị (device drivers).
Hđh cần che dấu những đặc thù của các thiết bị phần cứng, bằng cách cung cấp các chức năng
xử lý nhập xuất đơn giản, không phụ thuộc vào chi tiết của mỗi loại thiết bị.
5. Quản lý hệ thống tập tin :
Máy tính có thể lưu trữ thông tin trong nhiều dạng thiết bị vật lý khác nhau như băng từ, đĩa
từ, đĩa quang, ... Mỗi dạng có có khả năng lưu trữ, tốc độ truyền dữ liệu và cách truy xuất khác
nhau. Hệ điều hành cần đồng nhất cách truy xuất hệ thống lưu trữ, định nghĩa một đơn vị lưu trữ
là tập tin.
Nhiệm vụ của hđh
-Hỗ trợ các thao tác trên tập tin và thư mục.
-Ánh xạ tập tin trên hệ thống lưu trữ phụ.
-Sao lưu tập tin trên các thiết bị lưu trữ.
6. Bảo vệ hệ thống:
Cung cấp cơ chế để đảm bảo rằng tài nguyên khác chỉ được truy xuất bởi những tiến trình có
quyền. Ví dụ: đảm bảo rằng tiến trình chỉ được thi hành trong phạm vi địa chỉ của nó hoặc
đảm bảo rằng không có tiến trình nào độc chiếm CPU…
7. Hệ thống dòng lệnh :
Là tập lệnh cơ bản cùng trình thông dịch lệnh để người sử dụng giao tiếp với hệ điều hành.
Các lệnh cơ bản như lệnh quản lý tiến trình, nhập xuất, quản lý bộ nhớ chính, phụ, quản lý
tập tin và các lệnh bảo vệ hệ thống.
8. Quản lý mạng
IV. L ỜI G ỌI H Ệ TH ỐNG (system call)
-Là lệnh do hđh cung cấp dùng để giao tiếp giữa tiến trình và hệ điều hành. Lời gọi hệ thống có
thể được chia thành các loại : kiểm soát tiến trình, thao tác tập tin, thao tác thiết bị, thông tin. Khi
tiến trình dùng lời gọi hệ thống, cần cung cấp tham số cho lời gọi hệ thống. Có ba phương pháp
để chuyển tham số cho hệ điều hành:
-Chuyển tham số vào thanh ghi
-Lưu trữ tham số trong khối hoặc bảng trong bộ nhớ.
3
-Dùng stack.
V. CẤU TRÚC CỦA HỆ ĐIỀU HÀNH
1. Cấu trúc đơn giản
Không chia thành những đơn thể rõ rệt. V í dụ: Hđh MSDOS, các chương trình ứng dụng có
thể truy xuất trực tiếp các thủ tục nhập xuất cơ bản trong ROM BIOS để ghi trực tiếp lên màn
hình hay bộ điều khiển đĩa. UNIX với bản đầu tiên, cấu trúc chỉ bao gồm hai phần : hạt nhân và
các chương trình hệ thống.
Hình: Cấu trúc của MS-DOS
2. Cấu trúc theo lớp
Hệ điều hành được chia thành nhiều lớp. Lớp dưới cùng là phần cứng, lớp trên cùng là giao
tiếp với người sử dụng. Mỗi lớp chỉ sử dụng những hàm do lớp dưới cung cấp, do đó
4
chương trình của người sử dụng không thể sử dụng những hàm truy xuất cấp. Hạt nhân ở
lớp kế lớp phần cứng, dùng các lệnh của phần cứng để tạo một tập hợp các lời gọi hệ thống
Hình: Cấu trúc phân lớp của OS/2
3. Cấu trúc máy ảo
Tài nguyên của hệ thống như là CPU, bộ nhớ, đĩa,… được chia xẻ để tạo những máy ảo.
5