Phần cứng:
Chương trình vi điều khiển – điều khiển trực tiếp
các thiết bị
Thiết bị điện tử
Phần mềm:
Chương trình hệ thống: quản lý hoạt động của máy
tính
Chương trình ứng dụng: giải quyết các bài toán của
người dùng.
52 trang |
Chia sẻ: lylyngoc | Lượt xem: 1695 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Chương 1: Tổng quan về hệ điều hành, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
HỆ ĐIỀU HÀNH
Thời lượng : 20 tiết.
Vị trí môn học : sau Tin Học Đại Cương
Mục đích môn học: trang bị kiến thức về hệ điều
hành, để khai thác hệ thống hiệu quả hơn.
2
Tài Liệu Tham Khảo
Nguyên lý hệ điều hành:
TS.Hà Quang Thụy
NXB Khoa học kỹ thuật
Hệ điều hành: Tác giả: Ths.Nguyễn Thanh Tùng
Modern Operating System – Adrew S.Tanenbaum
3
Nội Dung Chương Trình
Chương 1: Tổng quan về hệ điều hành.
Chương 2: Quản lý tiến trình.
Chương 3: Quản lý bộ nhớ.
Chương 4: Quản lý tập tin và đĩa.
Chướng 5: Quản lý xuất nhập.
4
Chương 1:
TỔNG QUAN VỀ HỆ ĐIỀU HÀNH
5
1. Giới thiệu về hệ điều hành
Phần cứng:
Chương trình vi điều khiển – điều khiển trực tiếp
các thiết bị
Thiết bị điện tử
Phần mềm:
Chương trình hệ thống: quản lý hoạt động của máy
tính
Chương trình ứng dụng: giải quyết các bài toán của
người dùng.
6
7Khái niệm Hệ điều hành
HĐH là một bộ phận quan trọng của hệ thống
máy tính. Một hệ thống máy tính bao gồm 4
phần:
Phần cứng: CPU; Bộ nhớ; Các thiết bị xuất/nhập
Các chương trình ứng dụng
Hệ điều hành
Đối tượng sử dụng: Người, thiết bị hoặc máy tính
khác
8 4 Thành phần của hệ thống máy tính
Người sử
dụng 1
Người sử
dụng 2
Người sử
dụng 3
Người sử
dụng n
Các chương trình ứng dụng
Hệ điều hành
Phần cứng
Trình biên dịch Hợp ngữ Soạn thảo văn bản CSDL
Khái niệm Hệ điều hành
Từ quan điểm của người sử dụng: Hệ điều hành
là tập hợp các chương trình, phục vụ khai thác hệ
thống tính toán một cách dễ dàng, thuận tiện
Từ quan điểm của người quản lý: Hệ điều hành
là một tập các chương trình phục vụ quản lý chặt
chẽ và sử dụng tối ưu các tài nguyên của hệ
thống tính toán
9
Định nghĩa từ quan điểm cán bộ kỹ thuật: Hệ điều
hành là hệ thống chương trình, trang bị cho một
máy tính cụ thể để tạo ra một máy logic mới với
các tài nguyên và khả năng mới.
Định nghĩa từ quan điểm kỹ sư lập trình hệ thống:
Hệ điều hành là hệ thống mô hình hóa, mô phỏng
các hoạt động của máy, của người sử dụng và
của thao tác viên, hoạt động trong chế độ đối
thoại, nhằm tạo môi trường khai thác thuận tiện
và quản lý tối ưu các tài nguyên của hệ thống
tính toán
10
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 và phần cứng của
máy tính.
Chuẩn hóa giao diện người dùng đối với các hệ
thống phần cứng khác nhau.
Sử dụng hiệu quả tài nguyên phần cứng.
Khai thác tối đa hiệu suất của phần cứng.
Hệ điều hành được coi như là hệ thống quản lý
tài nguyên.
Hệ điều hành được coi như là phần mở rộng
của hệ thống máy tính điện tử.
11
2. Lịch sử phát triển của hệ điều hành
Lịch sử phát triển của HĐH
luôn gắn liền với sự phát
triển của máy tính điện tử
Thế hệ thứ nhất (1945-1955)
Howard Aiken (Havard) và John
von Neumann (Princeton)
Dùng các ống chân không với hơn 10000
ống
Lập trình: thiết lập các công tắc
Ngôn ngữ lập trình: ngôn ngữ máy
Tốc độ chậm
12
Ngôn ngữ lập trình và Hệ điều hành chưa
được biết đến
Đầu những năm 50->phiếu đục lỗ thay cho
bảng điều khiển
Đội thiết kế máy cũng là:
Đội lập trình
Đội chế tạo máy
Quản trị hệ thống
Thao tác hệ thống
13
Thế hệ 2 (1955-1965)
Thiết bị bán dẫn ra đời (Transistors)
Lập trình: trên phiếu đục lỗ
Ngôn ngữ lập trình: FORTRAN & Assembly
Công việc: mang tính khoa học
Máy tính: Mainframes
Hệ điều hành: Xử lý theo lô Batch system
Các trường đại học bắt đầu mua máy tính (giá
máy lên đến hàng triệu $)
Có sự phân chia giữa người thiết kế, người chế
tạo, người vận hành, người lập trình và chuyên
viên bảo trì.
14
15
Hệ thống xử lý theo lô
- Mang phiếu đến máy IBM 1401 (good at card reading)
- Đọc nội dung phiếu ra băng từ
- Cho băng từ vào máy IBM 7094 thực hiện tính toán
- Cho băng từ vào máy IBM 1401 in kết quả xuất ra ngoài
16
Thế hệ 3 (1965-1980)
Máy tính sử dụng mạch tích hợp (Integrated Circuit –
IC)
Lập trình: Băng từ
Ngôn ngữ lập trình: FORTRAN & Assembly
Công việc: khoa học và thương mại
Máy tính: IBM 360, DEC PDPs
Hệ điều hành: Hệ điều hành chia sẻ thời gian
Multiprogramming/timesharing, spooling
Chương trình hệ điều hành dài cả triệu dòng hợp
ngữ và do hàng ngàn lập trình viên thực hiện
Các hệ điều hành phát triển:
MULTICS (cha của các hệ điều hành hiện đại)
UNIX (System V, BSD)
POSIX (bởi IEEE)
MINIX (bởi Tanenbaum)
Linux (derived from MINIX)17
Thế hệ 4: 1980 đến nay
Sử dụng công nghệ Very large scale instruction
- VLSI
Lập trình: bậc cao
Ngôn ngữ lập trình: C/C++, Java, …
Máy tính: PC (Personal Computer)
Hệ điều hành: Windows, MacOS, Linux , …
Hệ điều hành mạng và hệ điều hành phân
tán
18
3. Tài nguyên hệ thống
Là những tồn tại về mặt vật lý tại một thời
điểm nhất định hoặc tại mọi thời điểm, và nó
có khả năng tác động đến hiệu suất của hệ
thống.
Tài nguyên không gian: Là các không gian
lưu trữ của hệ thống như đĩa, bộ nhớ chính.
Tài nguyên thời gian: Là thời gian thực hiện
lệnh của processor và thời gian truy xuất dữ
liệu trên bộ nhớ.
19
3. Tài nguyên hệ thống
Bộ nhớ
Bộ xử lý
Thiết bị ngoại vi
Các chương trình của hệ thống
20
Bộ nhớ
Đặc trưng cơ bản của bộ nhớ là thời gian truy
cập trực tiếp, thời gian truy cập tuần tự, và dung
lượng nhớ.
Phân biệt 2 khái niệm bộ nhớ và truy cập tới bộ
nhớ:
Bộ nhớ chỉ vùng vật lý chứa dữ liệu.
Truy cập bộ nhớ là quá trình tìm đến dữ liệu trên bộ
nhớ.
21
Bộ xử lý trung tâm CPU
Là tài nguyên quan trọng nhất của hệ thống, nó
được truy cập ở mức câu lệnh và chỉ có nó mới
làm cho câu lệnh thực hiện. Đặc trưng bởi hai
yếu tố là: Tốc độ xử lý (tính theo tần số xung
nhip đồng hồ hoặc số phép tính cơ bản trong một
giây) và độ dài từ máy (là số lượng bit nhị phân
của toán hạng trong phép tính cơ bản của CPU:
8, 16, 32, 64 bit)
Trong thực tế khi xem xét về Bộ xử lý (processor)
người ta chỉ chú ý đến thời gian xử lý của
processor.
22
Tài nguyên ảo
Là loại tài nguyên cung cấp cho chương trình
người sử dụng dưới dạng đã được biến đổi, nó
chỉ xuất hiện khi hệ thống cần tới nó hoặc khi hệ
thống tạo ra nó và nó sẽ tự động mất đi khi hệ
thống kết thúc hay chính xác hơn là khi tiến trình
gắn với nó đã kết thúc.
Đĩa ảo trong môi trường MS_DOS.
23
4. Các khái niệm cơ bản
Tiến trình.
Shell.
Tài nguyên hệ thống.
Lời gọi hệ thống.
24
Tiến trình
Tiến trình: Là một bộ phận của chương trình
đang thực hiện.
Tiến trình hệ điều hành.
Tiến trình chương trình.
Hoạt động song song.
Tiến trình khác với chương trình:
Chương trình là tập tin thụ động.
Tiến trình là trạng thái động của chương trình.
Tiểu trình: Là các luồng xử lý của tiến trình cùng
chia sẻ không gian bộ nhớ.
25
Bộ xử lý shell
Là một tiến trình đặc biệt, có nhiệm vụ nhận lệnh,
phân tích lệnh và phát sinh tiến trình mới để thực hiện
lệnh.
Trong hệ điều hành đơn nhiệm, khi tiến trình đáp ứng
yêu cầu hoạt động thì Shell sẽ chuyển sang trạng thái
chờ đến khi tiến trình đó kết thúc, sau đó mới trở lại
trạng thái sẵn sàng nhận lệnh mới.
Trong hệ điều hành đa nhiệm, sau khi phát sinh tiến
trình đáp ứng yêu cầu và đưa nó vào trạng thái hoạt
động thì shell sẽ chuyển sang trạng thái sẵn sàng
nhận lệnh mới, nhờ vậy Shell có khả năng khởi tạo
nhiều tiến trình đáp ứng yêu cầu để nó hoạt động
song song với nhau.
26
Lời gọi hệ thống (System calls)
Để tạo môi trường giao tiếp giữa chương trình
của người sử dụng và hệ điều hành, hệ điều
hành đưa ra các lời gọi hệ thống.
Chương trình của người sử dụng dùng các lời gọi
hệ thống để liên lạc với hệ điều hành và yêu cầu
các dịch vụ từ hệ điều hành.
Một số hệ thống cho phép lời gọi hệ thống được
thực hiện từ cấp lập trình ngôn ngữ cấp cao, như
các hàm và lời gọi hàm. Nó có thể phát sinh lời
gọi từ các thủ tục hay gọi trực tiếp inline
27
DUØNG LÔØI GOÏI HEÄ THOÁNG ÑEÅ THÖÏC HIEÄN I/O
(Chöông trình
ngöôøi duøng)
(Heä ñieàu haønh)
(Chuyeån ñieàu
khieån veà HÑH)
(Thöïc hieän I/O)
(Veà chöông trình
ngöôøi duøng)
5. Cấu trúc của hệ điều hành
Các thành phần của hệ điều hành
Thành phần quản lý tiến trình.
Thành phần quản lý bộ nhớ chính.
Thành phần quản lý xuất/nhập.
Thành phần quản lý bộ nhớ phụ.
Thành phần quản lý tập tin.
Thành phần thông dịch.
Thành phần bảo vệ hệ thống.
29
Thành phần quản lý tiến trình
Bộ phận quản lý tiến trình của hệ điều hành phải
thực hiện những nhiệm vụ sau đây:
Tạo lập, hủy bỏ tiến trình.
Tạm dừng, tái kích hoạt tiến trình.
Tạo cơ chế thông tin liên lạc giữa các tiến trình.
Tạo cơ chế đồng bộ hóa giữa các tiến trình.
30
Thành phần quản lý bộ nhớ
Bộ phận quản lý bộ nhớ chính của hệ điều hành
thực hiện những nhiệm vụ sau:
Cấp phát, thu hồi vùng nhớ.
Ghi nhận trạng thái bộ nhớ chính.
Bảo vệ bộ nhớ.
Quyết định tiến trình nào được nạp vào bộ nhớ.
31
Thành phần quản lý xuất nhập
Bộ phận quản lý xuất nhập của hệ điều hành thực
hiện những nhiệm vụ sau:
Gởi mã lệnh điều khiển đến thiết bị.
Tiếp nhận yêu cầu ngắt (Interrupt) từ các thiết bị.
Phát hiện và xử lý lỗi: quá trình trao đổi dữ liệu
thường xảy ra các lỗi.
32
Thành phần quản lý tệp tin
Bộ phận quản lý tập tin của hệ điều hành thực hiện
những nhiệm vụ sau:
Tạo/ xoá một tập tin/ thư mục.
Bảo vệ tập tin khi có hiện tượng truy xuất đồng
thời.
Cung cấp các thao tác xử lý và bảo vệ tập tin.
Tạo mối quan hệ giữa tập tin và bộ nhớ phụ chứa
tập tin.
Tạo cơ chế truy xuất tập tin thông qua tên tập tin.
33
Thành phần thông dịch
Đóng vai trò giao tiếp giữa hệ điều hành và người
sử dụng.
Thành phần này chính là shell
34
Thành phần bảo vệ hệ thống
Hệ điều hành cần phải có các cơ chế để luôn
đảm bảo các tài nguyên mà hệ điều hành đã cấp
cho một tiến trình thì chỉ có tiến trình đó được
quyền tác động đến các thành phần này.
Thành phần này điều khiển việc sử dụng tài
nguyên, đặc biệt là các tài nguyên dùng chung,
đặc biệt là các tiến trình hoạt động đồng thời với
nhau, sao cho không xảy ra sự tranh chấp tài
nguyên giữa các tiến trình hoạt đồng đồng thời
và không cho phép các tiến trình truy xuất bất
hợp lệ lên các vùng nhớ của nhau.
35
Cấu trúc của hệ điều hành
Hệ thống được chia thành một số lớp, mỗi lớp
được xây dựng dựa vào lớp bên trong. Lớp trong
cùng thường là phần cứng, lớp ngoài cùng là
giao diện với người sử dụng.
Mỗi lớp là một đối tượng trừu tượng, chứa dựng
bên trong nó các dữ liệu và thao tác xử lý dữ liệu
đó. Lớp n chứa dựng một cấu trúc dữ liệu và các
thủ tục có thể được gọi bởi lớp n+1 hoặc ngược
lại có thể gọi các thủ tục ở lớp n-1.
36
Cấu trúc của hệ điều hành
37
6. Các tính chất của hệ điều hành
Tin cậy và chuẩn xác
An toàn cao
Kế thừa và thích nghi
Hiệu quả
Thuận tiện
38
39
Tin cậy và chuẩn xác
Mọi công việc trong hệ thống đều phải có
kiểm tra:
Kiểm tra môi trường điều kiện thực hiện,
Kiểm tra kết quả thực hiện,
Nhiều chức năng KT: chuyển giao cho phần
cứng.
Ví dụ: Lệnh COPY A:F1.TXT B:
Sau khi KT cú pháp, bắt đầu thực hiện lệnh.
Lần lượt hệ thống sẽ KT gì và có thể có thông
báo nào?
40
Kt CARD I/O,
Tồn tại ổ đĩa?
Thiết bị điện tử ổ đĩa?
Động cơ ổ đĩa?
Khả năng truy nhập của ổ đĩa?
Khả năng truy nhập đĩa?
Tồn tại file F1.TXT?
Khả năng truy nhập file?
. . . . . . . .
41
An toàn cao
Hạn chế truy nhập không hợp thức
Hạn chế ảnh hưởng sai sót vô tình hay cố ý
Bảo vệ:
Nhiều mức,
Nhiều công cụ,
Nhiều thời điểm và giai đoạn khác nhau.
42
Kế thừa và thích nghi
(Tổng quát theo thời gian)
t
Thời điểm tạo
OS
Kế thừa
Thích nghi
43
Hệ điều hành cần phải có tính thừa kế, đồng thời
có khả năng thích nghi với những thay đổi có thể
có trong tương lai.
Đối với việc nâng cấp, tính kế thừa là bắt buộc
Các thao tác, thông báo phải không được thay
đổi, nếu có thì không đáng kể và phải được
hướng dẫn cụ thể.
Đảm bảo tính thừa kế sẽ duy trì và phát triển đội
ngũ người sử dụng
44
Hiệu quả cao
Các tài nguyên của hệ thống phải được khai thác
triệt để sao cho ngay cả trong điều kiện tài nguyên
hạn chế vẫn có thể giải quyết được những yêu cầu
phức tạp.
Hệ thống cần phải duy trì được tính đồng bộ, không
để các thiết bị tốc độ chậm trì hoãn họat động của
toàn hệ thống.
45
Thuận tiện
Hệ thống phải dễ dàng sử dụng
Có nhiều mức hiệu quả khác nhau
Hệ thống trợ giúp phong phú để người sử dụng có
thể tự học ngay trong quá trình thao tác. Hệ thống
trợ giúp phải phong phú, đa dạng: Tra cứu, hướng
dẫn, tooltip…
7. Phân loại hệ điều hành
Dựa vào cách mà hệ điều hành thực hiện các
công việc, các tác vụ, các tiến trình của người sử
dụng để phân loại hệ điều hành.
Hệ điều hành xử lý theo lô đơn giản.
Hệ điều hành xử lý theo lô đa chương.
Hệ điều hành chia sẻ thời gian.
Hệ điều hành đa vi xử lý.
Hệ điều hành xử lý thời gian thực.
Hệ điều hành mạng.
46
Hệ điều hành xử lý theo lô đơn giản
Các tác vụ được đưa vào hàng đợi
Thực hiện các tác vụ lần lượt theo những chỉ thị
đã được xác định trước
Tác vụ tiếp theo tự động được thực hiện khi tác
vụ trước kết thúc 1 cách tự động
Có bộ giám sát thường trực để giám sát việc thực
hiện của các tác vụ trong hệ thống
Processor rơi vào trạng thái chờ khi hệ thống truy
xuất thiết bị vào ra
47
Hệ điều hành xử lý theo lô đa chương
Có khả năng thực hiện nhiều tác vụ, nhiều
chương trình đồng thời
Hệ điều hành sẽ nạp một phần code và data của
các tác vụ vào bộ nhớ (các phần còn lại sẽ được
nạp sau tại thời điểm thích hợp).
Sau đó hệ điều hành bắt đầu thực hiện một tác
vụ.
Tác vụ đang thực hiện cần truy xuất thiết bị
vào/ra thì processor sẽ được chuyển sang thực
hiện các tác vụ khác.
Cần có cơ chế lập lịch cho Processor
48
Hệ điều hành xử lý theo lô đa chương
Ưu điểm:
Tiết kiệm bộ nhớ.
Hạn chế thời gian rỗi của CPU.
Nhược điểm:
Chi phí cao cho công việc lập lịch.
Chia sẻ bộ nhớ chính cho các tác vụ.
49
Hệ điều hành chia sẻ thời gian
Chia sẻ thời gian xử lý CPU cho các tác vụ là chia sẻ
thời gian xử lý của processor cho các tác vụ, các tiến
trình đang ở trong trạng thái sẵn sàng thực hiện.
Việc chuyển processor từ tác vụ khác không phụ
thuộc vào việc tác vụ hiện tại có truy xuất đến thiết bị
vào/ra hay không mà chỉ phụ thuộc vào sự điều phối
processor của hệ điều hành.
Trong hệ điều hành này thời gian chuyển đổi
processor giữa các tác vụ là rất nhỏ nên ta có cảm
giác các tác vụ thực hiện song song với nhau.
Còn gọi là hệ điều hành đa nhiệm.
50
Hệ điều hành xử lý thời gian thực
HÖ ®iÒu hµnh thêi gian thùc : ë c¸c thêi ®iÓm liªn tôc
trong hÖ thèng ch-¬ng tr×nh lu«n ®-îc phôc vô bëi
mét CPU vµ cã thÓ lµ ë nh÷ng thêi ®iÓm kh¸c nhau,
mét ch-¬ng tr×nh sÏ ®-îc phôc vô bëi c¸c bé xö lý
kh¸c nhau.
Trong hệ điều hành này các tác vụ cầu thực hiện
không được đưa vào hàng đợi mà được xử lý tức
thời và trả lại ngay kết quả hoặc thông báo lỗi
cho người sử dụng có yêu cầu.
Hệ điều hành này hoạt động đòi hỏi sự phối hợp
cao giữa phần mềm và phần cứng.
51
52
HÖ ®iÒu hµnh tËp trung vµ ph©n t¸n
H§H tËp trung : trong hÖ thèng m¸y tÝnh chØ cã
mét hÖ ®iÒu hµnh duy nhÊt cµi ®Æt vµo m¸y chñ,
hÖ ®iÒu hµnh nµy cã chøc n¨ng khëi ®éng vµ
cung cÊp dÞch vô cho c¸c m¸y tÝnh kh¸c. C¸c
m¸y nµy chñ yÕu vµo ra c¸c d÷ liÖu. ViÖc xö lý
tËp trung vµo m¸y chñ.
H§H ph©n t¸n: Trong hÖ thèng m¸y tÝnh, mçi m¸y
cã hÖ ®iÒu hµnh riªng khëi ®éng ®éc lËp vµ cã
chøc n¨ng kh¸c nhau. HÖ ®iÒu hµnh t¹i m¸y chñ
®-îc gäi lµ hÖ ®iÒu hµnh ph©n t¸n v×: Qu¶n lý c¸c
tµi nguyªn hÖ thèng kh«ng chØ t¹i m¸y chñ mµ
cßn c¶ c¸c m¸y tr¹m trong hÖ thèng. ChÝa sÎ tµi
nguyªn ®ång thêi cho nhiÒu m¸y kh¸c nhau.