Một cách tổng quát có thể chia tài nguyên phần cứng của hệ thống thành hai loại cơ bản: - 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, quan trọn
Trang 1HỆ ĐIỀU HÀNH
GV: ThS Hà Ngọc Minh
Trang 2HỆ ĐIỀU HÀNH
Mục tiêu của môn học:
Vai trò và năng lực của hệ điều hành trong hệ thống
máy tính.
Cung cấp cho người học các kiến thức chung nhất của
hệ điều hành máy tính.
Giúp người học nắm bắt được những nguyên lý cơ bản
và nguyên tắc làm việc của hệ điều hành máy tính.
Hiểu và xử lý được các vấn đề có thể xảy ra trong hệ
thống Ngoài ra, nắm bắt được xu hướng phát triển của
hệ điều hành mới trong tương lai.
Trang 3Nội dung môn học :
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Ý VÀ LẬP LỊCH CHO CPU
CHƯƠNG 4 – QUẢN LÝ BỘ NHỚ TRONG
CHƯƠNG 5 – QUẢN LÝ BỘ NHỚ NGOÀI
CHƯƠNG 6 – QUẢN LÝ THIẾT BỊ
CHƯƠNG 7 – BẢO VỆ VÀ AN TOÀN HỆ THỐNG
CHƯƠNG 8 – GIỚI THIỆU MỘT SỐ HỆ ĐIỀU HÀNH
HỆ ĐIỀU HÀNH
Trang 4TÀI LIỆU THAM KHẢO
1 Nguyễn Văn Khiêm, Lý thuyết hệ điều
Trang 5CHƯƠNG I - TỔNG QUAN VỀ HỆ ĐIỀU HÀNH
Giới thiệu cho sinh viên :
- Khái niệm về HĐH.
- Lịch sử phát triển hệ điều hành (HĐH).
- Phân loại HĐH
- Tính chất và những nguyên tắc xây dựng HĐH.
- Chức năng cơ bản của HĐH.
Trang 6 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 hệ thống (System Resources)
Trang 7 Một cách tổng quát có thể chia tài nguyên
phần cứng của hệ thống thành hai loại cơ bản:
- 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, quan trọng nhất là không gian bộ nhớ chính, nơi
lưu trữ các chương trình đang được CPU thực hiện
- Tài nguyên thời gian: chính 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ớ.
Tài nguyên hệ thống (System Resources)
Trang 8Một số tài nguyên hệ thống
Bộ xử lý trung tâm (CPU).
Bộ nhớ (trong và ngoài).
Hệ thống vào/ra.
Trang 9 Bộ xử lý trung tâm (CPU): Là tài nguyên quan
trọng nhất của hệ thống, được đặc trưng bởi 2 yếu
tố: tốc độ xử lý và độ dài từ máy.
Tốc độ xử lý của CPU được tính theo tần số
xung nhịp đồng hồ (MHz) hoặc số lượng phép tính cơ bản được thực hiện trong một giây
(MIPS – Million Instruction Per Second).
Độ dài từ máy: là số lượng bít nhị phân của
toán hạng trong phép tính cơ bản của CPU.
Một số tài nguyên hệ thống (tt)
Trang 10 Bộ nhớ:
- Đặc trưng cơ bản của bộ nhớ là thời gian truy
cập dữ liệu, và dung lượng bộ nhớ
- Bộ nhớ thường được tổ chức phân cấp dựa
vào tốc độ truy nhập
- Bộ nhớ trong là một loại bộ nhớ thực hiện và
nó thuộc quản lý của hệ thống.
- Bộ nhớ ngoài như đĩa từ, băng từ và
CD-ROM có thời gian truy nhập lâu hơn so với bộ nhớ trong.
Một số tài nguyên hệ thống (tt)
Trang 11 Hệ thống vào/ra:
- Các thiết bị đảm nhận việc chuyển giao thông tin giữa hệ thống và người sử dụng gọi là các thiết bị ngoại vi hoặc các thiết bị vào/ra.
- Các thiết bị này được gắn vào máy tính thông qua các thiết bị điều khiển để tạo thành một
kênh vào/ra Kênh này có chức năng thay
CPU điều khiển sự trao đổi thông tin giữa bộ nhớ trong và các thiết bị ngoài.
Một số tài nguyên hệ thống (tt)
Trang 12 Trên khía cạnh cấp phát tài nguyên cho các tiến trình đang
hoạt động đồng thời: có 2 loại:
Tài nguyên phân chia được: là những tài nguyên mà tại một
thời điểm nó có thể cấp phát cho nhiều tiến trình khác nhau
Bộ nhớ chính và Processor là 2 tài nguyên phân chia được
điển hình nhất, (không gian lưu trữ của bộ nhớ chính - thời
gian xử lý của processor).
Tài nguyên không phân chia được: là những tài nguyên mà
tại một thời điểm nó chỉ có thể cấp phát cho một tiến trình duy nhất Máy in là một tài nguyên không phân chia được điển
hình nhất.
Một số tài nguyên hệ thống (tt)
Trang 13công mà cần có một cơ chế tự động hóa,
tức là cần có một chương trình điều khiển
hoạt động của hệ thống máy tính, gọi là
hệ điều hành.
Khái niệm về hệ điều hành
Trang 14Khái niệm về hệ điều hành
Cấu trúc của hệ thống máy tính (HTMT) có thể phân chia thành 4 lớp:
Phần cứng
Các chương trình ứng dụng (word, excel,
compiler, web browser, database system )
Người sử dụng (người sử dụng trực tiếp, các thiết bị chuyên dụng kết nối với máy tính, các máy tính khác)
Hệ điều hành
Trang 15Khái niệm về hệ điều hành
Mối quan hệ giữa các thành phần của HTMT
Phần cứng
Hệ điều hành Chương trình ứng dụng Chương
trình dịch Hợp ngữ Soạn thảo văn bản CSDL
Trang 16Khái niệm về hệ điều hành
Xét về phía người sử dụng: HĐH cần phải tạo
được môi trường giao diện giữa người sử dụng
và máy tính
Xét về phía các chương trình ứng dụng: HĐH
phải tạo môi trường để các chương trình ứng
dụng hoạt động; cung cấp các cơ chế cho phép kích hoạt và loại bỏ các chương trình ứng dụng
Xét về phía phần cứng: HĐH phải quản lý các
thiết bị một cách có hiệu quả, khai thác được hết khả năng của các thiết bị, cung cấp cho các
chương trình và người sử dụng tài nguyên phần cứng khi có yêu cầu, thu hồi khi cần thiết
Trang 17Khái niệm về hệ điều hành
Như vậy, hệ điều hành là một tập
hợp các chương trình hệ thống có
chức năng tạo môi trường giao diện cho người sử dụng, tạo môi trường hoạt động cho các chương trình ứng dụng; quản lý và khai thác hiệu quả các thiết bị phần cứng
Trang 18Lịch sử phát triển của hệ điều hành
Thế hệ thứ nhất (1945 – 1955)
Thế hệ thứ hai (1955 – 1965)
Thế hệ thứ ba (1965 – 1980)
Thế hệ thứ tư (1980 đến nay)
Trang 19Lịch sử phát triển của hệ điều hành
Thế hệ thứ nhất (1945 – 1955)
1940s: Máy tính đầu tiên ra đời
Howard Aiken ở Havard và John von Neumann ở Princeton đã xây dựng máy tính bằng ống chân
không với hơn 10000 bóng đên chân không
Có nhóm người chuyên chạy chương trình, bao
gồm việc thiết kế, xây dựng chương trình, thao tác, quản lý bằng bảng điều khiển
Không có ngôn ngữ lập trình bậc cao Không có
hệ điều hành.
Đầu 1950s, phiếu đục lỗ ra đời thay bảng điều
Trang 20Lịch sử phát triển của hệ điều hành
Thế hệ thứ hai (1955 – 1965)
Sự ra đời của thiết bị bán dẫn vào giữa 1960s
đã làm thay đổi bức tranh tổng thể
Lần đầu tiên có sự phân chia người thiết kế, người xây dựng, người vận hành, lập trình…
Người lập trình viết chương trình lên giấy
(hơp ngữ hay FORTRAN) rồi đục lỗ trên
phiếu và đưa vào máy, xuất kết quả máy in
Hệ thống xử lý theo lô ra đời, 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
Trang 21Lịch sử phát triển của hệ điều hành
Thế hệ thứ ba (1965 – 1980)
Máy IBM 360 là máy tính đầu tiên sử dụng mạch tích hợp (IC) Các thiết bị ngoại vi dành cho máy xuất hiện ngày càng nhiều, thao tác điều khiển phức tạp →
Trang 22Lịch sử phát triển của hệ điều hành
Thế hệ thứ tư (1980 đến nay)
Giai đoạn này đánh dấu sự ra đời của máy tính cá nhân, đặc biệt là hệ thống IBM PC với
hệ điều hành MS-DOS và Windows sau này
Sự phát triển mạnh của hệ điều hành Unix
trên nhiều hệ máy khác nhau như Linux
Tự đầu 1990s cũng đánh dấu sự phát triển mạnh mẽ của hệ điều hành mạng và hệ điều hành phân tán
Trang 23Phân loại hệ điều hành
4 tiêu chí phân loại:
Dưới góc độ loại máy tính.
Trang 24Phân loại hệ điều hành
Dưới góc độ loại máy tính: 7 loại
Hệ điều hành dành cho máy MainFrame
Hệ điều hành dành cho máy Server
Hệ điều hành dành cho máy nhiều CPU
Hệ điều hành dành cho máy tính các nhân
(PC)
Hệ điều hành dành cho máy PDA (Embedded OS- hệ điều hành nhúng)
Hệ điều hành dành cho máy chuyên biệt
Hệ điều hành dành cho thẻ chip (SmartCard)
Trang 25Phân loại hệ điều hành
Dưới góc độ người sử dụng và số
chương trình được sử dụng cùng lúc
Hệ điều hành đơn nhiệm một người
dùng
Hệ điều hành đa nhiệm một người dùng
Hệ điều hành đa nhiệm nhiều người
dùng
Trang 26Phân loại hệ điều hành
Dưới góc độ người sử dụng và truy xuất tài
nguyên:
Một người dùng
Mạng có máy chủ: LAN, WAN…
Trang 27Phân loại hệ điều hành
Dưới góc độ hình thức xử lý:
Hệ thống xử lý theo lô
Hệ thống xử lý theo lô đa chương
Hệ thống chia sẻ thời gian
Hệ thống song song
Hệ thống phân tán
Hệ thống xử lý thời gian thực
Trang 28Phân loại hệ điều hành
Hệ thống xử lý theo lô đơn chương
HĐH theo lô thực hiện các công việc lần lượt theo chỉ định từ trước
Khi người dùng đưa một chương trình vào bộ nhớ trong thì nó sẽ chiếm mọi tài nguyên và chương trình của người khác không thể đưa vào bộ nhớ trong nữa
Trang 29Phân loại hệ điều hành
Hệ thống xử lý đa chương ( multiprogram )
HĐH đa chương cho phép nhiều chương trình được nạp vào bộ nhớ trong để thực hiện theo một thứ tự nào đó
Khi có nhiều công việc cùng truy xuất lên một thiết bị, HĐH đa chương sẽ thực hiện lập lịch cho các công việc sao cho gia tăng khai thác CPU, làm cho CPU luôn trong trình trạng làm việc
Trang 30Phân loại hệ điều hành
Hệ thống chia xẻ thời gian
Là mở rộng của hệ đa chương, còn được gọi
là hệ thống đa nhiệm (multitasking)
Cơ chế thực hiện như hệ đa chương nhưng
thời gian mỗi lần chuyển đổi diễn ra rất
nhanh.
HĐH chia xẻ phức tạp hơn hệ đa chương Nó phải có các chức năng như quản trị và bảo vệ
bộ nhớ, sử dụng bộ nhớ ảo, cung cấp hệ
thông tập tin truy xuất online…
Là kiểu của hệ điều hành hiện đại ngày nay
Trang 31Phân loại hệ điều hành
Hệ thống xử lý song song:
Còn gọi là hệ thống đa xử lý, là hệ thống có nhiều bộ xử lý (CPU) cùng chia xẻ hệ thống đường truyền dữ liệu, bộ nhớ và các thiết bị ngoại vi
Hệ thống này sẽ xử lý tối ưu hơn, cho nhiều chương trình cùng làm việc trên một tập dữ liệu
Độ tin cậy cao
Trang 32Phân loại hệ điều hành
Hệ thống phân tán:
Giống hệ thống chia xẻ thời gian nhưng các CPU không chia xẻ bộ nhớ và đồng hồ, thay vào đó mỗi CPU có bộ nhớ cục bộ riêng
Các CPU xử lý thông tin thông qua các
đường truyền thông như bus tốc độ cao hay đường dây điện thoại
Các CPU trong hệ phân tán khác nhau về
kích thước và chức năng Có thể gồm máy vi tính, trạm làm việc, máy mini, và hệ thống
máy tính lớn
Trang 33Phân loại hệ điều hành
Hệ thống phân tán:
Nguyên nhân sử dụng hệ thống phân tán là:
Chia xẻ tài nguyên ở vị trí xa
Tăng tốc độ tính toán
An toàn
Thông tin liên lạc với nhau
Trang 34Phân loại hệ điều hành
Có 2 loại hệ thống xử lý thời gian thực:
Hệ thống thời gian thực cứng: công việc hoàn tất đúng lúc Nếu không, hệ thống sẽ bị sụp đổ.
Hệ thống thời gian thực mềm: mỗi công việc có độ
ưu tiên và thực hiện theo độ ưu tiên đó Nếu không, hệ thống sẽ bị suy giảm
Chú ý: khác với hệ thống khác là gò bó về thời gian hơn
Trang 36Tính chất của hệ điều hành
Tính tin cậy:
Mọi hoạt động, mọi thông báo đều phải chuẩn xác tuyệt đối
Để đảm bảo, phần thiết bị kỹ thuật phải có
những phương tiện hỗ trợ kiểm tra tính đúng đắn của dữ liệu trong các phép lưu trữ và xử lý
Trang 37Tính chất của hệ điều hành
Tính an toàn
Hệ thống đảm bảo dữ liệu và chương trình
không bị xóa hoặc bị thay đổi ngoài ý muốn trong mọi trường hợp và mọi chế độ hoạt
động
Tính an toàn đặc biệt quan trọng trong hệ
thống đa nhiệm
HĐH cần cung cấp các cơ chế bảo vệ dữ liệu
và bảo vệ tài nguyên dùng chung
Trang 38Tính chất của hệ điều hành
Tính hiệu quả
Các tài nguyên phải được khai thác triệt để
Duy trì đồng bộ trong toàn hệ thống, không để các thiết bị tốc độ chậm trì hoãn hoạt động
của toàn hệ thống
Trang 39Tính chất của hệ điều hành
Tính kế thừa
HĐH phải có tính kế thừa các ưu điểm, khắc phục các nhược điểm của phiên bản trước và khả năng thích nghi với những thay đổi trong tương lai
Đảm bảo tính kế thừa sẽ duy trì và phát triển đội ngũ người sử dụng, giảm chi phí đào tạo
Trang 41Nguyên tắc thiết kế và xây dựng
Gồm 7 nguyên tắc:
Nguyên tắc modul
Nguyên tắc tương đối trong định vị
Nguyên tắc Macro Processor
Nguyên tắc lặp chức năng
Nguyên tắc giá trị chuẩn
Nguyên tắc khởi tạo khi cài đặt
Nguyên tắc bảo vệ nhiều mức
Trang 42Nguyên tắc thiết kế và xây dựng
Nguyên tắc modul:
Hệ thống có tính chất module, nó được xây dựng từ những module độc lập và tồn tại bộ quy tắc liên kết chúng thành hệ thống có tổ chức Tính module thể
hiện ở hai dạng: Dạng chức năng và dạng chương
trình Các module quan hệ với nhau thông qua dữ liệu vào và ra Quan hệ phân cấp giữa các module xác
lập khi liên kết chúng thành những module lớn giải
quyết những vấn đề phức tạp hơn Nguyên tắc
module cho phép tổ hợp những module hiện có theo nhiều cách khác nhau, đảm bảo tính đa dạng chức năng của hệ thống.
Trang 43Nguyên tắc thiết kế và xây dựng
Nguyên tắc tương đối trong định vị
Các module chương trình được viết theo địa chỉ tương đối kể từ đầu bộ nhớ Khi thực
hiện, chúng mới được định vị tại vùng bộ nhớ
cụ thể Nguyên tắc này cho phép hệ thống sử dụng bộ nhớ một cách linh hoạt và hệ điều
hành không bị phụ thuộc vào cấu hình bộ nhớ
cụ thể
Trang 44Nguyên tắc thiết kế và xây dựng
Nguyên tắc Macro Processor
Theo nguyên tắc này, khi có nhiệm vụ cụ thể, hệ
thống sẽ xây dựng các phiếu yêu cầu, liệt kê các
bước phải thực hiện và trên cơ sở đó – xây dựng
chương trình trương ứng, sau đó thực hiện chương trình nói trên Mọi hệ điều hành đều sử dụng nguyên
lý này trong đối thoại giữa người và máy trên ngôn ngữ vận hành Dĩ nhiên, độ sâu trong việc phân tích
và xây dựng chương trình là khác nhau ở những hệ thống khác nhau Chính nguyên tắc này đã làm cho quá trình đối thoại được linh hoạt mà không cần tới một chương trình dịch phức tạp Nguyên lý này được
áp dụng rất rộng rãi trong các hệ quản trị cơ sở dữ liệu.
Trang 45Nguyên tắc thiết kế và xây dựng
Nguyên tắc khởi tạo trong cài đặt
Người sử dụng được cung cấp các bộ
chương trình cài đặt Chương trình cài đặt sẽ tạo phiên bản làm việc thích hợp với các tham
số kỹ thuật hiện có, loại bỏ những module
không cần thiết để có một phiên bản tối ưu cả
về cấu trúc lẫn phương thức hoạt động
Trang 46Nguyên tắc thiết kế và xây dựng
Nguyên tắc lặp chức năng
Mỗi công việc bao giờ cũng có nhiều cách thực hiện khác nhau với những tổ hợp module khác nhau Nguyên tắc này trước hết đảm bảo độ an toàn hệ thống: Vẫn có thể khai thác hệ thống
bình thường ngay cả khi thiếu hoặc hỏng vài thành phần hệ
thống Ngoài ra, với nguyên tắc này người sử dụng sẽ thoải mái hơn khi giao tiếp với hệ thống: Với một công việc, ai nhớ hoặc thích phương tiện nào thì sử dụng phương tiện đó Như vậy
người sử dụng khai thác được cả những hiệu ứng phụ của các
module khác nhau cùng giải quyết một vấn đề, chẳng hạn có
nhiều chương trình dịch cho một ngôn ngữ thuật toán nào đó Sự
đa dạng cho phép người sử dụng chọn giải thuật tối ưu đối với bài toán.
Trang 47Nguyên tắc thiết kế và xây dựng
Nguyên tắc giá trị chuẩn
Một module, câu lệnh có thể có nhiều
tham số Việc nhớ hết các tham số: Số lượng,
ý nghĩa, quy cách v v là vô cùng phức tạp
và câu lệnh hoặc chương trình trở nên cồng kềnh một cách không cần thiết Lối thoát ra
khỏi tình trạng đó là chuẩn bị sẵn bộ giá trị
các tham số ứng với trường hợp thường gặp nhất Nếu trong câu lệnh hay lời gọi module thiếu tham số nào thì hệ thống sẽ bổ sung
bằng các giá trị quy định trước Nguyên tắc
Trang 48Nguyên tắc thiết kế và xây dựng
Nguyên tắc bảo vệ nhiều mức
Để đảm bảo an toàn hệ thống và an toàn dữ liệu, chương trình và dữ liệu phải được bảo
vệ bằng nhiều khoá ở nhiều mức Ví dụ đối
với file, có thể bảo vệ ở mức cả đĩa từ hoặc từng thư mục hay từng file riêng biệt, bảo vệ thường xuyên hay tuỳ từng chế độ mở file v.v Việc bảo vệ nhiều mức đã làm giảm đáng
kể các lỗi không cố ý Nguyên tắc này được nghiên cứu áp dụng rất hiệu quả với thông tin ghi trong RAM
Trang 49Chức năng của hệ điều hành