Một trong những phần quan trọng của chương trình hệ thống trong một hệ điều hành là hệ thống thông dịch lệnh, đó là giao tiếp giữa người sử dụng và hệ điều hành. Một số hệ điều hành đặt[r]
(1)(2)CHƯƠNG 1: TỔNG QUAN VỀ HỆ ĐIỀU HÀNH
1.1 Khái niệm hệ điều hành
Hệ điều hành hệ thống chương trình hoạt động người sử dụng
(user) phần cứng máy tính Mục tiêu hệ điều hành cung cấp môi trường để người sử dụng thi hành chương trình Nó làm cho máy tính dễ sử dụng hơn, thuận lợi hiệu
Hệ điều hành phần quan trọng hầu hết hệ thống máy tính Một hệ thống máy tính thường chia làm bốn phần : phần cứng, hệ điều hành, chương trình ứng dụng người sử dụng
Phần cứng bao gồm CPU, nhớ, thiết bị nhập xuất, tài
ngun máy tính
Chương trình ứng dụng chương trình dịch, hệ thống sở liệu,
trị chơi, chương trình thương mại Các chương trình sử dụng tài nguyên máy tính để giải yêu cầu người sử dụng
Hệ điều hành điều khiển phối hợp việc sử dụng phần cứng cho ứng
dụng khác nhiều người sử dụng khác Hệ điều hành cung cấp môi trường mà chương trình làm việc hữu hiệu
Hình 1.1 Mơ hình trừu tượng hệ thống máy tính
(3)tập tin, thiết bị nhập xuất v.v… chương trình yêu cầu để giải vấn đề Hệ điều hành hoạt động quản lý tài nguyên phân phối chúng cho chương trình người sử dụng cần thiết Do có nhiều yêu cầu, hệ điều hành phải giải vấn đề tranh chấp phải định cấp phát tài nguyên cho yêu cầu theo thứ tự để hoạt động máy tính hiệu Một hệ điều hành coi chương trình kiểm sốt việc sử dụng máy tính, đặc biệt thiết bị nhập xuất
Tuy nhiên, nhìn chung chưa có định nghĩa hồn hảo hệ điều hành Hệ điều hành tồn để giải vấn đề sử dụng hệ thống máy tính Mục tiêu giúp cho việc thi hành chương trình dễ dàng Mục tiêu thứ hai hỗ trợ cho thao tác hệ thống máy tính hiệu Mục tiêu đặc biệt quan trọng hệ thống nhiều người dùng hệ thống lớn(phần cứng + quy mô sử dụng) Tuy nhiên hai mục tiêu có phần tương phản lý thuyết hệ điều hành tập trung vào việc tối ưu hóa việc sử dụng tài nguyên máy tính
1.2 Lịch sử phát triển hệ điều hành Thế hệ (1945 – 1955)
Vào khoảng thập niên 1940, Howard Aiken Havard John von Neumann Princeton, thành cơng việc xây dựng máy tính dùng ống chân không Những máy lớn với 10000 ống chân không chậm nhiều so với máy rẻ ngày
Mỗi máy nhóm thực tất từ thiết kế, xây dựng lập trình, thao tác đến quản lý Lập trình ngôn ngữ máy tuyệt đối, thường cách dùng bảng điều khiển để thực chức Ngơn ngữ lập trình chưa biết đến hệ điều hành chưa nghe đến
Vào đầu thập niên 1950, phiếu đục lổ đời viết chương trình phiếu thay cho dùng bảng điều khiển
Thế hệ (1955 – 1965)
(4)khách hàng Lần 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, người bảo trì
Để thực cơng việc (một chương trình hay tập hợp chương trình), lập trình viên trước hết viết chương trình giấy (bằng hợp ngữ hay FORTRAN) sau đục lỗ phiếu cuối đưa phiếu vào máy Sau thực xong xuất kết máy in
Hệ thống xử lý theo lô đời, lưu yêu cầu cần thực lên băng từ,
hệ thống đọc thi hành Sau đó, ghi kết lên băng từ xuất cuối người sử dụng đem băng từ xuất in.
Hệ thống xử lý theo lô hoạt động điều khiển chương trình đặc biệt tiền thân hệ điều hành sau Ngôn ngữ lập trình sử dụng giai đoạn chủ yếu FORTRAN hợp ngữ
Thế hệ (1965 – 1980)
Trong giai đoạn này, máy tính sử dụng rộng rãi khoa học thương mại Máy IBM 360 máy tính sử dụng mạch tích hợp (IC) Từ kích thước giá hệ thống máy giảm đáng kể máy tính phỗ biến Các thiết bị ngoại vi dành cho máy xuất ngày nhiều thao tác điều khiển bắt đầu phức tạp
Hệ điều hành đời nhằm điều phối, kiểm soát hoạt động giải yêu cầu tranh chấp thiết bị Chương trình hệ điều hành dài triệu dòng hợp ngữ hàng ngàn lập trình viên thực
Sau đó, hệ điều hành đời khái niệm đa chương CPU chờ thực thao tác nhập xuất Bộ nhớ chia làm nhiều phần, phần có cơng việc (job) khác nhau, công việc chờ thực nhập xuất CPU xử lý cơng việc cịn lại Tuy nhiên có nhiều cơng việc xuất nhớ, vấn đề phải có chế bảo vệ tránh công việc ảnh hưởng đến Hệ điều hành cài đặt thuộc tính spool
Giai đoạn đánh dấu đời hệ điều hành chia xẻ thời gian CTSS MIT Đồng thời hệ điều hành lớn đời MULTICS, UNIX hệ thống máy mini xuất DEC PDP-1
(5)Giai đoạn đánh dấu đời máy tính cá nhân, đặc biệt hệ thống IBM PC với hệ điều hành MS-DOS Windows sau Bên cạnh phát triển mạnh hệ điều hành tựa Unix nhiều hệ máy khác Linux Ngoài ra, từ đầu thập niên 90 đánh dấu phát triển mạnh mẽ hệ điều hành mạng
và hệ điều hành phân tán
1.3 Phân loại hệ thống
1.3.1 Hệ thống xử lý theo lô
Bộ giám sát thường trực thiết kế để giám sát việc thực dãy công việc cách tự động, chương trình ln ln thường trú nhớ
Hệ điều hành theo lơ thực công việc theo thị định
trước
1.3.2 Hệ thống xử lý theo lô đa chương
Đa chương (multiprogram) gia tăng khai thác CPU cách tổ chức công việc cho CPU ln ln phải tình trạng làm việc
Ý tưởng sau : hệ điều hành lưu giữ phần công việc nơi lưu trữ nhớ CPU thực phần công việc Khi thực hiện, có u cầu truy xuất thiết bị CPU không nghỉ mà thực tiếp công việc thứ hai…
Với hệ đa chương hệ điều hành định cho người sử dụng vậy, hệ điều
hành đa chương tinh vi Hệ phải xử lý vấn đề lập lịch cho công việc, lập lịch
cho nhớ cho CPU
1.3.3 Hệ thống chia xẻ thời gian
Hệ thống chia xẻ thời gian mở rộng logic hệ đa chương Hệ thống gọi hệ thống đa nhiệm (multitasking) Nhiều công việc thực thông qua chế chuyển đổi CPU hệ đa chương thời gian lần chuyển đổi diễn nhanh
(6)tiến trình, phải thực thao tác nhập xuất khoảng thời gian CPU thi hành tiến trình khác Hệ điều hành chia xẻ cho phép nhiều người sử dụng chia xẻ máy tính cách đồng thời gian chuyển đổi nhanh nên họ có cảm giác tiến trình thi hành lúc
Hệ điều hành chia xẻ phức tạp hệ điều hành đa chương Nó phải có chức : quản trị bảo vệ nhớ, sử dụng nhớ ảo Nó cung cấp hệ thống tập tin truy xuất on-line…
Hệ điều hành chia xẻ kiểu hệ điều hành đại ngày 1.3.4 Hệ thống song song
Ngoài hệ thống có xử lý cịn có hệ thống có nhiều xử lý chia xẻ hệ thống đường truyền liệu, đồng hồ, nhớ thiết bị ngoại vi Các xử lý liên lạc bên với
Với gia tăng số lượng xử lý, công việc thực nhanh chóng Hệ thống với máy nhiều xử lý tối ưu hệ thống có nhiều máy có xử lý xử lý chia xẻ thiết bị ngoại vi, hệ thống lưu trữ, nguồn … thuận tiện cho nhiều chương trình làm việc tập hợp liệu
Một lý độ tin cậy Các chức xử lý nhiều xử lý hỏng hóc xử lý khơng ảnh hưởng đến tồn hệ thống
Hệ thống đa xử lý thông thường sử dụng cách đa xử lý đối xứng, cách
này xử lý chạy với hệ điều hành, liên lạc với cần thiết Một số hệ thống sử dụng đa xử lý bất đối xứng, xử lý giao công việc riêng biệt Một xử lý kiểm sốt tồn hệ thống, xử lý khác thực theo lệnh xử lý theo thị định nghĩa trước Mơ hình theo dạng quan hệ chủ tớ Bộ xử lý lập lịch cho xử lý khác
Một ví dụ hệ thống xử lý đối xứng version Encore UNIX cho máy tính Multimax Hệ thống có hàng tá xử lý Ưu điểm nhiều tiến trình thực lúc Một hệ thống đa xử lý cho phép nhiều công việc tài nguyên chia xẻ tự động xử lý khác
(7)1.3.5 Hệ thống phân tán
Hệ thống tương tự hệ thống chia xẻ thời gian xử lý không chia xẻ nhớ đồng hồ, thay vào xử lý có nhớ cục riêng Các xử lý thông tin với thông qua đường truyền thông bus tốc độ cao hay đường dây điện thoại
Các xử lý hệ phân tán thường khác kích thước chức Nó bao gồm máy vi tính, trạm làm việc, máy mini, hệ thống máy lớn
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 : hệ thống phân tán cung cấp chế để chia xẻ tập tin
vị trí xa, xử lý thông tin sở liệu phân tán, in ấn vị trí xa, sử dụng thiết bị xa để hỗ thực thao tác
Tăng tốc độ tính tốn : Một thao tác tính tốn chia làm nhiều phần nhỏ
cùng thực lúc Hệ thống phân tán cho phép phân chia việc tính tốn nhiều vị trí khác để tính tốn song song
An tồn : Nếu vị trí hệ thống phân tán bị hỏng, vị trí khác
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
liệu từ vị trí sang vị trí khác Ví dụ hệ thống Windows, thường có chia xẻ chuyển liệu cửa sổ Khi vị trí nối kết với hệ thống mạng, việc trao đổi liệu diễn dễ Người sử dụng chuyển tập tin hay E_mail cho từ vị trí hay vị trí khác
1.3.6 Hệ thống xử lý thời gian thực
Hệ thống xử lý thời gian thực sử dụng có địi hỏi khắt khe
thời gian thao tác xử lý dòng liệu
(8)Hệ thống thời gian thực cứng cơng việc hồn tất lúc Lúc liệu thường lưu nhớ ngắn hạn hay ROM Việc xử lý theo thời gian thực xung đột với tất hệ thống liệt kê
Dạng thứ hai hệ thống thời gian thực mềm, cơng việc có độ ưu tiên riêng thi hành theo độ ưu tiên Có số lĩnh vực áp dụng hữu hiệu phương pháp multimedia hay thực ảo
1.4 Các thành phần hệ điều hành a) Quản lý tiến trình
Một tiến trình chương trình thi hành Một tiến trình phải sử
dụng tài nguyên thời gian sử dụng CPU, nhớ, tập tin, thiết bị nhập xuất để hồn tất cơng việc Các tài nguyên cung cấp tiến trình tạo hay trình thi hành
Một tiến trình hoạt động (active) hồn tồn-ngược lại với tập tin đĩa thụ động (passive)-với đếm chương trình cho biết lệnh thi hành.Việc thi hành thực theo chế , CPU thi hành từ lệnh đầu đến lệnh cuối
Một tiến trình coi đơn vị làm việc hệ thống Một hệ thống có nhiều tiến trình lúc , số tiến trình hệ điều hành, số tiến trình người sử dụng tiến trình diễn đồng thời
Vai trò hệ điều hành việc quản lý tiến trình : - Tạo hủy tiến trình người sử dụng hệ thống - Tạm dừng thực tiếp tiến trình
- Cung cấp chế đồng tiến trình
- Cung cấp chế giao tiếp tiến trình - Cung cấp chế kiểm sốt deadlock
b) Quản lý nhớ :
(9)đều có địa Đó nơi lưu liệu CPU truy xuất cách nhanh chóng so với thiết bị nhập/xuất CPU đọc thị từ nhớ Các thiết bị nhập/xuất cài đặt chế DMA đọc ghi liệu nhớ Thơng thường nhớ chứa thiết bị mà CPU định vị trực tiếp Ví dụ CPU truy xuất liệu từ đĩa, liệu chuyển vào nhớ qua lời gọi hệ thống nhập/xuất
Một chương trình muốn thi hành trước hết phải ánh xạ thành địa tuyệt đối nạp vào nhớ chính.Khi chương trình thi hành, hệ thống truy xuất thị liệu chương trình nhớ Ngay tiến trình kết thúc , liệu nhớ tiến trình khác ghi chồng lên
Hệ điều hành có vai trị sau việc quản lý nhớ :
- Lưu giữ thơng tin vị trí nhớ sử dụng tiến trình sử dụng
- Quyết định tiến trình nạp vào nhớ chính, nhớ dùng
- Cấp phát thu hồi nhớ cần thiết c) Quản lý nhớ phụ :
Bộ nhớ q nhỏ để lưu giữ liệu chương trình, ngồi liệu khơng cịn cung cấp lượng Hệ thống máy tính ngày cung cấp hệ thống lưu trữ phụ Đa số máy tính dùng đĩa để lưu trữ chương trình liệu Hầu tất chương trình : chương trình dịch, hợp ngữ, thủ tục, trình soạn thảo, định dạng lưu trữ đĩa thực hiện, nạp vào nhớ sử dụng đĩa để chứa liệu kết xử lý Vai trò hệ điều hành việc quản lý đĩa :
- Quản lý vùng trống đĩa - Định vị lưu trữ
- Lập lịch cho đĩa
(10)Một mục tiêu hệ điều hành che dấu đặc thù thiết bị phần cứng người sử dụng thay vào lớp thân thiện hơn, người sử dụng dể thao tác Một hệ thống vào/ra bao gồm :
- Thành phần quản lý nhớ chứa vùng đệm (buffering), lưu trữ (caching) spooling (vùng chứa)
- Giao tiếp điều khiển thiết bị (device drivers) tổng quát - Bộ điều khiển cho thiết bị xác định
Chỉ có điều khiển cho thiết bị xác định hiểu đến cấu trúc đặc thù thiết bị mà mơ tả
e) Quản lý hệ thống tập tin :
Máy tính lưu trữ thơng tin nhiều dạng thiết bị vật lý khác : băng từ, đĩa từ, đĩa quang, Mỗi dạng có đặc thù riêng mặt tổ chức vật lý Mỗi thiết bị có kiểm sốt điều khiển đĩa (disk driver) có tính chất riêng Những tính chất tốc độ, khả lưu trữ, tốc độ truyền liệu cách truy xuất
Để cho việc sử dụng hệ thống máy tính thuận tiện, hệ điều hành cung cấp nhìn logic đồng hệ thống lưu trữ thông tin Hệ điều hành định nghĩa đơn vị lưu trữ logic tập tin Hệ điều hành tạo ánh xạ từ tập tin đến vùng thông tin đĩa truy xuất tập tin thông qua thiết bị lưu trữ
Một tập tin tập hợp thơng tin người tạo xác định Thông thường tập tin đại diện cho chương trình liệu Dữ liệu tập tin số, ký tự, hay ký số
Vai trò hệ điều hành việc quản lý tập tin : - Tạo xoá tập tin
- Tạo xoá thư mục
- Hỗ trợ thao tác tập tin thư mục - Ánh xạ tập tin hệ thống lưu trữ phụ
(11)f) Hệ thống bảo vệ :
Trong hệ thống nhiều người sử dụng cho phép nhiều tiến trình diễn đồng thời, tiến trình phải bảo vệ hoạt động khác.Do đó, hệ thống cung cấp chế để đảm bảo tập tin, nhớ, CPU, tài nguyên khác truy xuất tiến trình có quyền Ví dụ, nhớ đảm bảo tiến trình thi hành phạm vi địa Bộ thời gian đảm bảo khơng có tiến trình độc chiếm CPU Cuối thiết bị ngoại vi bảo vệ
Hệ thống bảo vệ chế kiểm sốt q trình truy xuất chương trình,
tiến trình, người sử dụng với tài nguyên hệ thống Cơ chế cung cấp cách thức để mơ tả lại mức độ kiểm sốt
Hệ thống bảo vệ làm tăng độ an toàn kiểm tra lỗi giao tiếp hệ thống nhỏ bên
g) Hệ thống thông dịch lệnh :
Một phần quan trọng chương trình hệ thống hệ điều hành hệ thống thơng dịch lệnh, giao tiếp người sử dụng hệ điều hành Một số hệ điều hành đặt chế dòng lệnh bên hạt nhân, số khác MS-DOS UNIX xem hệ điều hành chương trình đặt biệt, thi hành công việc bắt đầu người sử dụng login lần
Các lệnh đưa vào hệ điều hành thông qua bộ điều khiển lệnh Trong hệ thống chia xẻ thời gian chương trình đọc thơng dịch lệnh điều khiển thực cách tự động Chương trình thường gọi thơng dịch điều khiển card, chế dòng lệnh Shell Chức đơn giản lấy lệnh thi hành
Mỗi hệ điều hành có giao tiếp khác nhau, dạng đơn giản theo chế dòng lệnh, dạng thân thiện với người sử dụng giao diện Macintosh có biểu tượng, cửa sổ thao tác dùng chuột
Các lệnh có quan hệ với việc tạo quản lý tiến trình, kiểm sốt nhập xuất, quản lý lưu trữ phụ, quản lý nhớ chính, truy xuất hệ thống tập tin chế bảo vệ
(12)a) Cấu trúc đơn giản
Thông thường hệ điều hành bắt đầu hệ thống nhỏ, đơn giản có giới hạn
HĐH tập hợp thủ tục, gọi lẫn Cấu trúc tối thiểu phân chia thủ tục hệ thống thành cấp độ:
Các thủ tục chính: gọi đến thủ tục HĐH, hay gọi lời gọi hệ thống Các thủ tục dịch vụ: xử lý lời gọi hệ thống
Các thủ tục tiện ích hỗ trự thủ tục dịch vụ xử lý lời gọi hệ thống Nhược điểm:
Khơng có che dấu liệu, thủ tục gọi đến tất thủ tục khác Chương trình ứng dụng truy xuất thủ tục cấp thấp tác động đến phần cứng HĐH khó kiểm sốt bảo vệ hệ thống
Các mức độ phân chia thủ tục không rõ ràng
MS-DOS hệ điều hành có cấu trúc đơn giản, cung cấp chức cần thiết không gian nhỏ giới hạn phần cứng mà chạy khơng chia thành đơn thể rõ rệt
(13)Mặc dù MS-DOS có cấu trúc giao diện chức khơng có phân chia rõ rệt Các chương trình ứng dụng truy xuất trực tiếp thủ tục nhập xuất ghi trực tiếp lên hình hay điều khiển đĩa
b) Cấu trúc phân lớp
Bằng cách sử dụng kỹ thuật topdown, chức đặc tính hệ thống chia làm nhiều thành phần nhỏ Che dấu thơng tin, khơng cho chương trình người sử dụng cài đặt hàm truy xuất cấp thấp , thay vào lớp giao tiếp bên
Hệ điều hành chia thành nhiều lớp Lớp phần cứng, lớp giao tiếp với người sử dụng Lớp hệ điều hành cài đặt thành đối tượng trừu tượng Thông thường lớp hệ điều hành bao gồm số cấu trúc liệu hàm gọi lớp thân gọi chức lớp bên
Ưu điểm tính module Các lớp chọn dựa sở lớp sử dụng chức dịch vụ lớp Tiếp cận đơn giản hóa việc gỡ rối kiểm tra hệ thống Lớp gỡ rối mà khơng có quan tâm cho lớp cịn lại hệ thống Bởi theo định nghĩa, sử dụng phần cứng để cài đặt chức Một lớp gỡ rối, chức sửa lỗi đảm đương lớp thứ gỡ rối, …Nếu lỗi tìm thấy gỡ rối cho lớp xác định, lỗi phải nằm lớp lớp bên gỡ rối Do đó, thiết kế cài đặt hệ thống đơn giản hóa hệ thống phân chia thành nhiều lớp
Mỗi lớp cài đặt với thao tác cung cấp lớp bên Một lớp không cần biết thao tác cài đặt nào; cần biết thao tác làm Do đó, lớp che giấu tồn cấu trúc liệu, thao tác phần cứng từ lớp cấp cao
(14)Các u cầu khơng thật rõ ràng Thường trình điều khiển lưu trữ dự phịng nằm định thời CPU trình điều khiển cần phải chờ nhập/xuất CPU định thời lại thời gian Tuy nhiên, hệ thống lớn, định thời có nhiều thơng tin tất q trình hoạt động đặt vừa nhớ Do đó, thơng tin cần hoán vị vào nhớ, yêu cầu thủ tục trình điều khiển lưu trữ dự phịng nằm bên định thời CPU
Vấn đề cuối với cài đặt phân lớp chúng có khuynh hướng hiệu loại khác Thí dụ, chương trình người dùng thực thi thao tác nhập/xuất, thực thi lời gọi hệ thống Lời gọi hệ thống bẫy (trapped) tới lớp nhập/xuất, yêu cầu tầng quản lý nhớ, sau gọi tầng định thời CPU, sau truyền tới phần cứng Tại lớp, tham số hiệu chỉnh, liệu truyền,…Mỗi tầng thêm chi phí cho lời gọi hệ thống; kết thực lời gọi hệ thống thời gian lâu chúng thực hệ thống không phân tầng
Cấu trúc lớp lần thiết kế áp dụng cho hệ điều hành THE (Technische Hogeschool Eindhoven) Hệ thống chia thành sáu lớp hình sau:
Hình 1.3 Cấu trúc hệ điều hành THE
Các ví dụ khác cấu trúc lớp hệ điều hành VENUS OS/2 c) Máy ảo
(15)Bằng cách sử dụng lập lịch cho CPU kỹ thuật nhớ ảo, hệ điều hành tạo nhiều tiến trình phức ảo, thực xử lý nhớ riêng Những tiến trình có đặc điểm riêng lời gọi hệ thống hệ thống tập tin không cung cấp phần cứng trực tiếp
Tài nguyên hệ thống chia xẻ để tạo máy ảo Lập lịch CPU chia xẻ CPU cho người sử dụng Spooling hệ thống tập tin chia thành card đọc ảo máy in ảo Một terminal cung cấp chức tạo thao tác hình ảo
Vấn đề phức tạp máy ảo hệ thống đĩa Giả sử hệ thống có ba điều khiển đĩa có tới bảy máy ảo Như khơng thể gán cho máy ảo điều khiển đĩa giải pháp xây dựng hệ thống đĩa ảo
Mặc dù khái niệm máy ảo hữu ích khó cài đặt Máy ảo phải thực hai dạng: dạng giám sát (monitor) dạng người sử dụng Ngồi máy ảo cịn phải giải vấn đề vận chuyển liệu thời gian
Hình 1.4 So sánh máy thực máy ảo d) Vi nhân (Microkernels)
(16)không quan trọng từ nhân cài chúng chương trình cấp người dùng hệ thống Kết làm cho nhân nhỏ Có trí liên quan đến việc định dịch vụ nên để lại nhân dịch vụ nên cài đặt không gian người dùng Tuy nhiên, thường vi nhân điển hình cung cấp trình quản lý nhớ tối thiểu ngồi phương tiện giao tiếp
Chức vi nhân cung cấp tiện nghi giao tiếp chương trình khách hàng dịch vụ khác mà chúng chạy không gian người dùng Giao tiếp cung cấp truyền thơng điệp Thí dụ, chương trình khách hàng muốn truy xuất tập tin, phải giao tiếp với trình phục vụ tập tin (file server)
Chương trình người dùng dịch vụ không giao tiếp trực tiếp Đúng chúng giao tiếp gián tiếp cách truyền thông điệp với vi nhân
Thuận lợi tiếp cận vi nhân dễ dàng mở rộng hệ điều hành Tất dịch vụ thêm tới không gian người dùng khơng u cầu phải hiệu chỉnh nhân Kết hệ điều hành dễ dàng để chuyển đổi từ thiết kế phần cứng sang thiết kế phần cứng khác Vi nhân cung cấp khả an tồn tin cậy hầu hết dịch vụ chạy người dùng –hơn nhân- trình Nếu dịch vụ bị lỗi, phần lại hệ điều hành không bị ảnh hưởng
Một số hệ điều hành đại dùng tiếp cận vi nhân Tru64 UNIX (Digital UNIX trước đây) cung cấp giao diện UNIX tới người dùng, cài đặt với nhân Mach Nhân Mach ánh xạ lời gọi hệ thống vào thông điệp tới dịch vụ cấp người dùng tương ứng Hệ điều hành Apple MacOS Server dựa sở nhân Mach
QNX hệ điều hành thời thực dựa sở thiết kế vi nhân Vi nhân QNX cung cấp dịch vụ cho việc truyền thông điệp định thời trình Nó quản lý giao tiếp mạng cấp thấp ngắt phần cứng Tất dịch vụ khác QNX cung cấp trình chuẩn chạy bên nhân chế độ người dùng
(17)Khuynh hướng hệ điều hành đại chuyển dần đoạn mã hệ thống lên lớp cao bỏ dần chức hạt nhân, lại hạt nhân tối thiểu Cách tiếp cận cài đặt hầu hết chức hệ điều hành xử lý người sử dụng Để yêu cầu dịch vụ, đọc khối từ tập tin, xử lý người sử dụng (còn gọi tiến trình client) gửi u cầu cho xử lý phận dịch vụ (còn gọi tiến trình server) Sau đó, thực gửi kết trở lại
(18)Hình 1.5 Mơ hình Client-Server hệ thống phân tán
Một ưu điểm khác mơ hình client-server tương thích dể dàng với mơ hình hệ thống phân tán Nếu client giao tiếp với server cách gửi thông điệp, họ khơng biết thơng điệp xử lý cục máy hay gửi vào mạng đến server máy từ xa Khi client quan tâm đến, yêu cầu gửi trả lời đáp ứng diễn
1.6 Các tính chất hệ điều hành a) Tin cậy
(19)hợp cịn lại HĐH thơng báo lỗi ngừng xử lý trao quyền định cho người vận hành người sử dụng
b) An toàn
Hệ thống pahỉ tổ chức cho chương trình liệu khơng bị xố bị thay đổi ngồi ý muốn trường hợp chế độ hoạt động Điều đặc biệt quan trọng hệ thống đa nhiệm Các tài nguyên khác đòi hỏi yêu cầu khác việc đảm bảo an toàn
c) Hiệu
Các tài nguyên hệ thống phải đợc khai thác triệt để chon gay điều kiện tài nguyên hạn chế giải yêu cầu phức tạp Một khía cạnh quan trọng đảm bảo hiệu trì đồng tồn hệ thống, khơng để thiết bị tốc độ chậm trì hỗn hoạt động toàn hệ thống
d) Tổng quát theo thời gian
HĐH phải có tính kế thừa, đồng thời có khả thích nghi với thay đổi cso thể cso tương lai Tính thừa kế quan trọng với hệ điều hành hệ Đối với việc nâng cấp, tính kế thừa bắt buộc Các thao tác, thơng báo khơng thay đổi, có không đáng kể phải hướng dẫn cụ thể chuyển từ phiên sang phiên khác, phương tiện nhận biết hệ thống Đảm bảo tính kế thừa trì phát triển đội ngũ người sử dụng-một nhân tố quan trọng để HĐH tồn Ngồi người sử dụng quan tâm, liệu kinh nghiệm kiến thức HĐH cịn sử dụng Khả thích nghi với thay đổi đòi hỏi HĐH phải thiết kế theo số nguyên tắc định
e) Thuận tiện
Hẹ thống phải dẽ dàng sử dụng, có nhiều mức hiệu khác tuỳ theo kiến thức kinh nghiệm người dùng Hệ thống trợ giúp phong phú để người sử dụng tự đào tạo trình khai thác
Trong chừng mực đó, tính chất mâu thuẫn lẫn Mỗi HĐH có giải pháp trung hồ, ưu tiên hợp lý tính chất hay tính chất khác
(20)a) Module
- HĐH phải xây dựng từ module độc lập có khả liên kết thành hệ thống thu gọn mở rộng tuỳ ý
- Các module đồng cấp quan hệ với thông qua liệu vào
- Tồn quan hệ phân cấp lien kết module tạo thành module có khả giải quết vấn đề phức tạp
b) Nguyên tắc tương đối định vị
Các modul chương trình viết theo đại tương đối kể từ đầu nhớ Khi thực chúng định vị vùng nhớ cụ thể Nguyên tắc cho phép hệ thống sử dụng nhớ cách linh hoạt hệ đièu hành không bị phụ thuộc vào cấu hình nhớ cụ thể
c) Nguyên tắc Macroproccessor
Theo nguyên tắc có nhiệm vụ cụ thể hệ thống xây dựng phiếu yêu cầu, liệt kê bước phải thực sở xây dựng chương trình tương ứng, sau thực chương trình nói Mọi hệ điều hành phải xây dựng nguyên lý đối thoại người máy ngôn ngữ vận hành Dĩ nhiên độ sâu việc phân tích xây dựng chương trình khác hệ thống khác Chính nguyên tắc làm cho q trình đối thoại linh hoạt mà khơng cần tới chương trình dịch phức tạp
d) Nguyên tắc khởi tạo cài đặt
Nguyên tắc Macroproccessor áp dụng khơng với nhiệm vụ mà cịn với tồn HĐH thành phần Người sử dụng cung cấp chương trình cài đặt Chương trình cài đặt tạo phiên làm việc thích hợp với tham số kỹ thuật có, loại bỏ modul khơng cần thiết để có phiên tối ưu vầ cấu trúc lẫn phương thức hoạt động
e) Nguyên tắc lập chức