Tải bản đầy đủ (.pdf) (16 trang)

GIÁO ÁN TRƯỜNG CD CÔNG NGHỆ THÔNG TIN: TỔNG QUAN VỀ HỆ ĐIỀU HÀNH MÁY TÍNH_2 ppt

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (45.17 KB, 16 trang )

I. KHÁI NIỆM VÀ CHỨC NĂNG CỦA HỆ ĐIỀU HÀNH.
1)Khái niệm:
Hệ điều hành là một chương trình đóng vai trò trung gian trong
việc giao
tiếp giữa người sử dụng 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 (convenient) hơn
và có hiệu quả
(efficient) 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 4 phần: phần cứng,
hệ điều hành,
các chương trình ứng dụng và người sử dụng.

2) Chức năng:
a) Là bộ phân phối tài nguyên: (resource allocator)
Hệ điều hành đóng vai trò là bộ phân phối tài nguyên:
Tài nguyên hệ thống, đặc biệt là các tài nguyên phần cứng như
CPU, bộ
nhớ, thiết bò ngoại vi,… thường rất giới hạn về số lượng. Trong
các hệ thống đa
nhiệm, nhiều chương trình chạy đồng thời và cùng yêu cầu các
tài nguyên hữu
hạn. Hệ điều hành sẽ giữ vai trò quản lý và phân phối các tài
nguyên cho các
chương trình. Việc phân phối tài nguyên cho các chương trình
phải theo một trình
tự nào đó để tránh tranh chấp và làm cho máy tính hoạt động có


hiệu quả. Ngoài
ra, có nhiều trường hợp người dùng cần chia sẻ thông tin với
nhau. Khi đó, hệ
điều hành phải bảo đảm việc truy xuất đến các thông tin chia sẻ
đó là hợp lệ,
không xảy ra sai trái hay mất đồng nhất dữ liệu.
b) Là một chương trình điều khiển: (control program)
Hệ điều hành đóng vai trò là một chương trình điều khiển:
Một hệ điều hành cũng có thể được xem 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.
Giúp người dùng
ngăn chặn lỗi, tránh lỗi, kiểm soát việc sử dụng máy tính một
cách đúng đắn.
Điều khiển việc thực thi chương trình của người dùng. Che giấu
đi cấu trúc phức
tạp của các phần cứng, tạo ra một giao diện sử dụng phần cứng
đơn giản, dễ
dùng nhưng đầy đủ chức năng.
3) Các nhiệm vụ của hệ điều hành:
a) Quản lý tiến trình: (process management)
Một chương trình không thực hiện được gì cả nếu nó không được
CPU thi
hành. Một tiến trình (process) là một chương trình đang được thi
hành. Khi một
process được khởi tạo, nó phải được cung cấp các tài nguyên để
hoạt động, khi
không còn dùng tài nguyên, process phải trả lại tài nguyên cho
hệ thống để hệ
thống tiếp tục cấp cho process khác. Có các process của người

dùng và có các
process của hệ thống. Một process được xem như là một đơn vò
làm việc của hệ
thống. Tại cùng một thời điểm trong hệ thống có thể có nhiều
process cùng chạy
đồng thời. Các tài nguyên mà một process có thể cần dùng là:
CPU, vùng nhớ,
các tập tin, các thiết bò nhập xuất,…
Vai trò của hệ điều hành trong việc quản lý process là:
- Create/Destroy: tạo và hủy các process.
- Suspend/Resume: tạm ngưng và thực hiện lại một process.
- Synchronization: đồng bộ các process.
- Inter-Process Communications: truyền thông giữa các
process.
b) Quản lý bộ nhớ chính: (main memory management)
Bộ nhớ chính là thiết bò duy nhất mà CPU có thể truy xuất trực
tiếp. Một
chương trình muốn được thi hành, trước hết phải được nạp vào
trong bộ nhớ
chính, dữ liệu của chương trình cũng được nạp vào trong bộ nhớ
chính. Khi
process kết thúc thì dữ liệu và chương trình vẫn còn trong trong
bộ nhớ cho đến
khi có một process khác được ghi chồng lên. Trong một hệ
thống đa nhiệm, để
tăng hiệu suất sử dụng CPU thì hệ điều hành cố gắng giữ nhiều
process trong bộ
nhớ chính tại cùng một thời điểm.
Vai trò của hệ điều hành trong việc quản lý bộ nhớ chính:
- Cấp phát và thu hồi vùng nhớ cho các process.

- Ghi nhận tình trạng bộ nhớ: phần nào đã được cấp phát,
phần nào
còn có thể sử dụng được.
- Quyết đònh process nào được nạp vào bộ nhớ chính khi có
một
vùng trống.
c) Quản lý hệ thống tập tin : (file management)
Máy tính có thể lưu trữ thông tin trên nhiều loại thiết bò vật lý
khác nhau:
đóa mềm, CD-ROM, đóa cứng, flash, băng từ… Mỗi loại thiết bò
có tính chất và
cấu trúc vật lý khác nhau. Để thống nhất trong lưu trữ, hệ điều
hành đònh nghóa
một đơn vò lưu trữ logic là tập tin. Hệ điều hành tạo một ánh xạ
từ tập tin đến
đến vùng lưu trữ thông tin trên đóa và truy xuất thông tin này
thông qua thiết bò
lưu trữ. Hệ điều hành còn tổ chức lưu trữ các tập tin thành các
thư mục. Để dễ
dàng truy xuất, hệ điều hành tổ chức lưu trữ các tập tin một cách
có hệ thống gọi
là hệ thống tập tin (filesystem). Có nhiều loại hệ thống tập tin
khác nhau.
Vai trò của hệ điều hành trong việc quản lý tập tin:
- Tạo và xóa một tập tin.
- Tạo và xóa một thư mục.
- Hỗ trợ thao tác cơ bản trên tập tin và thư mục.
- Ánh xạ tập tin trên hệ thống lưu trữ phụ.
- Backup tập tin trên các thiết bò lưu trữ.
d) Quản lý nhập xuất: (I/O system management)

Một trong những mục tiêu của hệ điều hành là che dấu những
chi tiết
phức tạp của các thiết bò phần cứng đối với người sử dụng. Thay
vào đó là một
lớp giao diện thân thiện độc lập với thiết bò, giúp cho người
dùng dễ thao tác
hơn. Thường thì các giao diện là các trình điều khiển (driver).
Chỉ có các driver
mới hiểu đến cấu trúc đặc thù của thiết bò mà nó mô tả. Hệ điều
hành đảm trách
việc điều khiển các thiết bi nhập xuất. Nó gởi các lệnh điều
khiển đến các thiết
bò, tiếp nhận các ngắt và xử lý các lỗi nhập xuất.
Một hệ thống nhập xuất bao gồm:
- Hệ thống buffer caching.
- Giao tiếp điều khiển thiết bò (device drivers) tổng quát.
- Bộ điều khiển (driver) cho các thiết bò phần cứng.
e) Quản lý bộ nhớ phụ : (secondary-storage management)
Muốn thực thi chương trình thì phải đưa chương trình và dữ liệu
của
chương trình vào trong bộ nhớ chính. Nhưng bộ nhớ chính quá
nhỏ để lưu trữ mọi
dữ liệu và chương trình. Mặt khác, bộ nhớ chính chỉ là nơi lưu
trữ tạm thời, dữ
liệu sẽ bò mất khi không cung cấp điện cho nó. Vì vậy cần phải
có một hệ thống
lư u trữ phụ như đóa mềm, đóa cứng, CD-ROM, flash, băng từ….
Hầu như tất các
các chương trình, dữ liệu đều được lưu trữ trên bộ nhớ phụ dưới
dạng các tập tin.

Khi cần thiết thì chúng được nạp vào bộ nhớ chính để thực thi.
Tốc độ của hệ
thống phụ thuộc rất nhiều vào tốc độ truy xuất các thiết bò lưu
trữ phụ. Vì vậy
một bộ quản lý hệ thống đóa rất quan trọng cho hệ thống máy
tính.
Vai trò của hệ điều hành trong việc quản lý bộ nhớ phụ:
- Quản lý vùng trống trên đóa.
- Đònh vò lưu trữ đóa.
- Điều phối đóa (disk scheduling).
f) Nối mạng: (networking)
Một hệ thống phân bố (distributed system) là một tập hợp các
bộ xử lý
(processor) không cùng chia sẻ bộ nhớ chung. Mỗi bộ xử lý có
một bộ nhớ riêng
độc lập. Các bộ xử lý giao tiếp với nhau thông qua mạng truyền
thông bằng các
đường truyền vật lý như: đường truyền tốc độ cao, đường điện
thoại, vệ tinh…
Nhờ có nối mạng mà người dùng có thể truy cập đến các tài
nguyên khác nhau
trong mạng.
Việc truy cập các tài nguyên dùng chung cho phép:
- Gia tăng tốc độ tính toán (speedup).
- Gia tăng sự sẵn dùng (available) của dữ liệu.
- Tăng độ tin cậy (reliability)
g) Hệ thống bảo vệ: (protection system)
Hệ thống bảo vệ là một cơ chế kiểm soát sự hợp lệ của việc
truy xuất các
tài nguyên hệ thống và các tài nguyên của người dùng. Trong

hệ thống có nhiều
người sử dụng hoặc có nhiều process diễn ra đồng thời, các
process cần phải
được bảo vệ để tránh sự xâm phạm vô tình hay cố ý có thể dẫn
đến sai lạc cho
toàn hệ thống. Hệ thống phải cung cấp được cơ chế để đảm bảo
rằng tập tin, bộ
nhớ, CPU và những tài nguyên khác chỉ được truy xuất bởi
những process có
quyền. Ví dụ: phải bảo đảm rằng một process chỉ được thi hành
trong phạm vi
vùng nhớ cấp phát cho nó, phải bảo đảm không có process nào
độc chiếm CPU,
phải bảo vệ các thiết bò ngoại vi như printer… Hệ thống bảo vệ
cũng phải làm
tăng tốc độ an toàn trong giao tiếp giữa các hệ thống nhỏ bên
trong.
Một hệ thống bảo vệ cần phải:
- Đònh rõ được phép dùng và không được phép dùng các tài
nguyên.
- Đònh rõ các loại kiểm soát cần phải áp dụng trong hệ
thống.
- Cung cấp các cơ chế buộc process, người dùng phải thi
hành theo.
h) Hệ thông dòch lệnh: (command-interpreter system)
Đây là một trong những bộ phận quan trọng nhất của hệ điều
hành, đóng
vai trò giao diện giữa hệ điều hành và người sử dụng. Các lệnh
được chuyển
đến hệ điều hành dưới dạng phát biểu điều khiển (control

statements). Bộ thông
dòch lệnh có nhiệm vụ tiếp nhận lệnh và thông dòch lệnh đó để
hệ điều hành có
xử lý tương ứng. Có hai loại giao diện giữa người dùng và bộ
thông dòch lệnh:
- Giao diện đồ họa (menu, cửa sổ, chuột ).
- Giao diện dòng lệnh (như MS-DOS, shell của Unix).
4) Tiến trình khởi động máy và nạp hệ điều hành:
a) Khởi động máy tính: (starting the computer)
Tiến trình khởi động máy tính được thực hiện khi ta bật điện
máy tính lên.
Tiến trình này gọi là cold boot. Cold boot gồm các bước theo
trình tự sau:
- ROM nạp BIOS (basic input/output sysytem – hệ thống
nhập xuất cơ
bản) vào bộ nhớ máy tính.
- BIOS kiểm tra các thiết bò nhập xuất xem có khả năng
hoạt động được
không. Công đoạn này được gọi là POST (Power-on Self-test).
BIOS xác đònh xem partition nào là active partition trong
Master Boot
Record (MBR). Đi đến active partition để nạp kernel vào bộ nhớ
chính.
Kernel là lõi của hệ điều hành, là nơi chứa các thành phần cơ
bản nhất
của hệ điều hành.
- Lúc này hệ điều hành đã nắm được quyền kiểm soát máy
tính.
b) Cấu hình hệ thống: (configuring the system)
Sau khi nắm quyền điều khiển máy tính, hệ điều hành tiến hành

cấu hình
lại hệ thống, gồm các bước sau:
- Hệ thống được cấu hình lại dựa trên thông tin từ Registry
của hệ điều
hành.
- Các trình điều khiển (driver) và các chương trình tiện ích
(utility
program) được nạp vào bộ nhớ. Các trình tiện ích như: volume
control,
antivirus software, file manager,…).
- Chứng thực việc đăng nhập của người dùng.
- Giao diện người dùng bắt đầu cho phép người dùng tương
tác với máy
tính.
Chú ý: Một số máy tính lưu trữ toàn bộ hệ điều hành vào trong
bộ nhớ
chính. Một số máy tính khác thì chỉ nạp phần cơ bản của hệ điều
hành vào trong
bộ nhớ chính, phần còn lại sẽ nạp vào bộ nhớ khi có nhu cầu.
Hầu hết các hoạt
động của hệ điều hành diễn ra ở dạng hậu trường (behind the
scences).
II. PHÂN LOẠI HỆ ĐIỀU HÀNH

Các loại hệ điều hành:
1) Hệ thống tuần tự: (sequential system)
Các chỉ thò của chương trình được thực hiện tuần tự, hết chỉ thò
này đến chỉ
thò khác. Được dùng cho các máy tính to lớn, cồng kềnh ngày
xưa. Vào giữa thập

niên 1940, xuất hiện các máy tính mainframe cồng kềnh, tốc độ
rất chậm, dùng
ống chân không. Người lập trình cũng chính là người vận hành
máy. Chương
Trình được viết chủ yếu bằng ngôn ngữ máy dưới dạng các bít 0
và 1. Chương
trình được đưa bằng tay vào bộ nhớ dung lượng thấp của
mainframe thông qua
việc đục lỗ trên băng giấy hay thẻ đục lỗ. Chương trình được
chạy từng lệnh
một. Người lập trình phải luôn quan sát khi chạy chương trình để
phát hiện lỗi.
Khi có lỗi thì dừng hệ thống lại, sửa lỗi rồi chạy lại từ đầu. Dữ
liệu xuất được in
ra máy in hay đục lỗ trên thẻ, băng giấy.
2) Hệ thống xử lý theo lô: (batch system)
Hệ thống loại này sẽ tập trung tất cả tài nguyên để xử lý một
công việc
tại một khoảng thời gian. Khi 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 công việc sẽ nhanh hơn.
Một chương trình gọi là bộ giám sát (resident monitor) nằm
thường trú
trong bộ nhớ chính có nhiệm vụ giám sát thường trực việc thực
hiện một dãy các
công việc một cách tự động. Khi máy tính được khởi động,
resident monitor được
gọi, nó chuyển điều khiển cho chương trình đầu tiên. Khi

chương trình đầu tiên
kết thúc, nó sẽ trả điều khiển cho resident monitor. Resident
monitor sẽ chuyển
điều khiển cho chương trình kế tiếp. Cứ như vậy mà lần lượt
từng công việc khác
nhau trong một chuỗi các công việc được thực thi.
Để resident monitor biết được chương trình nào là chương trình
kế tiếp
được thực hiện thì cần phải mô tả ngắn gọn về chương trình.
Nhờ vậy mà
resident monitor tích lũy các tài nguyên cần thiết cho chương
trình.
3) Hệ thống đa chương theo lô: (multiprogrammed batched
system):
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ác công việc ở trong bộ nhớ. CPU sẽ lần lượt thực
hiện các 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 Vì vậy hệ điều hành loại
này phải thực
hiện được các vấn đề điều phối (scheduling) công việc, điều
phối bộ nhớ và điều
phối CPU.
4) Hệ thống chia xẻ thời gian: (time-sharing system):
Còn được gọi là hệ thống đa nhiệm (multitasking). Là sự mở
rộng của hệ

thống đa chương. Nhiều công việc cùng thực hiện thông qua cơ
chế chuyển đổi
CPU giống như hệ điều hành đa chương nhưng thời gian chuyển
đổi diễn ra rất
nhanh. Nếu trong quá trình thi hành của một chương trình nó
phải thực hiện các
thao tác nhập xuất (I/O) thì trong khoảng thời gian đó CPU sẽ thi
hành một
chương trình khác. Hệ điều hành chia xẻ thời gian này dùng việc
chuyển đổi
CPU (CPU switching) để cung cấp cho mỗi chương trình một
lượng thời gian sử
dụng CPU rất nhỏ, do thời gian chuyển đổi CPU giữa các
chương trình rất nhanh
nên tạo ra cảm giác các chương trình được thực thi cùng một lúc.
5) Hệ thống song song: (parallel system)
Ngoài các hệ thống máy tính chỉ có một bộ xử lý (single-
processor
system) còn có hệ thống máy tính có nhiều bộ xử lý bên trong
nó. Chúng cùng
chia xẻ các đường truyền dữ liệu (bus), đồng hồ hệ thống
(clock), bộ nhớ và các
thiết bò ngoại vi (peripheral devices). Với sự gia tăng số lượng
bộ xử lý mà công
việc được thực hiện nhanh chóng hơn, tối ưu hơn các máy có
một bộ xử lý.
Nhưng không có nghóa cứ n bộ xử lý là giảm thời gian thực thi
chương trình
xuống n lần (vì còn tốn phần thời gian cho việc chia xẻ các phần
của chương

trình lên các CPU). Hệ thống loại này có độ tin cậy cao vì sự
hỏng hóc của một
bộ xử lý sẽ không làm ảnh hưởng đến toàn bộ hệ thống.
6) Hệ thống phân bố: (distributed system)
Tương tự như hệ thống song song nhưng hệ thống này không
chia sẻ đồng
hồ hệ thống và bộ nhớ chung. Thay vào đó mỗi bộ xử lý có một
bộ nhớ cục bộ
riêng. Giữa các bộ xử lý có sự truyền thông (communication)
với nhau thông qua
các đường truyền. Các bộ xử lý không nhất thiết giống nhau mà
có thể khác
nhau về tốc độ và chức năng. Có thể chia sẻ tài nguyên như:
máy in, tập tin
Làm gia tăng tốc độ tính toán bằng cách chia công việc thành
các phần nhỏ giao
cho các bộ xử lý thực hiện đồng thời. Nếu một bộ xử lý hỏng
hóc thì các bộ xử
lý khác vẫn tiếp tục làm việc. Giữa các bộ xử lý có sự truyền
thông giúp cho
việc truyền và chia sẻ dữ liệu được thực hiện dễ dàng.
7) Hệ thống thời gian thực:
Có những bài toán (problem) đòi hỏi hệ thống máy tính thực thi
và cho
kết quả chính xác trong một khoảng thời gian cụ thể (bò thúc ép
về thời gian)
như: hệ thống điều khiển vũ khí, điều khiển các thí nghiệm khoa
học, dự báo
thời tiết
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.
Máy tính phân tích
dữ liệu và có thể điều chỉnh thứ tự thực hiện của các điều khiển
nhằm giải quyết
kòp thời cho dữ liệu nhập.
Chia 2 loại:
- Hệ thống thời gian thực cứng (hard real-time system): công
việc được
hoàn tất đúng lúc, dữ liệu được lưu trong bộ nhớ ngắn hạn
(short-time
memory) hay ROM.
- Hệ thống thời gian thực mềm (soft real-time system): mỗi
công việc có
một độ ưu tiên riêng và sẽ được thực thi theo độ ưu tiên.
III. LỊCH SỬ PHÁT TRIỂN CỦA HỆ ĐIỀU HÀNH:
1) Thế hệ 1: (1945-1955)
Vào khoảng giữa thập niên 1940, Howard Aiken ở Harvard và
John Von
Neumann ở Princeton đã thành công trong việc xây dựng máy
tính dùng ống
chân không. Những máy này rất lớn với hơn 10.000 ống chân
không nhưng chậm
hơn rất nhiều so với máy rẻ nhất ngày nay.
Mỗi máy được thực hiện bởi một nhóm người. Họ thực hiện thiết
kế, lập
trình, thao tác, quản lý máy. Chương trình được lập trình bằng
ngôn ngữ máy
tuyệt đối. Chương trình được thực thi bằng cách vận hành bảng
điều khiển

(control panel) và chỉ thực hiện được các thao tác cơ bản rất đơn
giản. Ngôn ngữ

lập trình và hệ điều hành đều chưa được biết đến. Vào đầu thập
niên 1950,
phiếu đục lỗ ra đời. Nhờ vậy mà chương trình được viết trên
phiếu thay cho bảng
điều khiển.
2) Thế hệ 2: (1955-1965)
Sự ra đời của thiết bò bán dẫn vào giữa thập niên 1950 làm
thay đổi bức
tranh tổng thể. Máy tính trở nên đủ tin cậy hơn. Nó được sản
xuất và cung cấp
cho khách hàng. Lần đầu tiên có sự phân chia rõ ràng giữa
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ì.
Để thực hiện một công việc (một chương trình hay một tập
hợp chương
trình), lập trình viên trước hết viết chương trình trên giấy (bằng
hợp ngữ hay
bằng FORTRAN) sau đó đục lỗ trên phiếu và cuối cùng đưa
phiếu vào máy. Sau
khi thực hiện xong nó sẽ xuất kết quả ra máy in.
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ừ rồi 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 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 được sử dụng
trong giai đoạn này chủ yếu là FORTRAN và hợp ngữ.
3) Thế hệ 3: (1965-1980)
Trong giai đoạn này, máy tính được sử dụng rộng rãi trong
khoa học cũng
như trong thương mại. Máy IBM 360 là máy tính đầu tiên sử
dụng mạch tích hợp
(IC). Từ đó kích thước và giá cả của các hệ thống máy tính giảm
đáng kể. Máy
tính ngày càng phổ biến hơn, các thiết bò ngoại vi dành cho máy
tính xuất hiện
ngày càng nhiều và xuất hiện các thao tác điều khiển phức tạp.
Hệ điều hành ra đời nhằm điều phối, kiểm soát hoạt động và
giải quyết
tranh chấp thiết bò giữa các yêu cầu. 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.
Sau đó, hệ điều hành ra đời khái niệm đa chương. CPU không
phải chờ

×