Hệ điều hành các dịch vụ hệ điều hành nguyễn phú trường 1

30 572 0
Hệ điều hành   các dịch vụ hệ điều hành   nguyễn phú trường   1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐỀ CƯƠNG MÔN HỌC MÔN: HỆ ĐIỀU HÀNH Mà MÔN HỌC: TH338 SỐ ĐVHT: HỌC KÌ: GIẢNG VIÊN: NGUYỄN PHÚ TRƯỜNG I MỤC ĐÍCH YÊU CẦU ƒ ƒ ƒ Giúp sinh viên hiểu vai trò hệ điều hành chế hoạt động hệ điều hành Cách thiết kế hệ điều hành Cách ứng dụng chế việc thiết kế hệ điều hành đại II KIẾN THỨC NỀN CẦN THIẾT STT Nội dung kiến thức Kiến trúc máy tính Tiên Mức độ yêu cầu Vận dụng khái Vận dụng kỹ năng/ niệm/ mơ hình phương pháp x III KIẾN THỨC TOÁN CẦN THIẾT STT Nội dung kiến thức Hiểu Khái niệm Giải thuật Ngôn ngữ Pascal C Mức độ yêu cầu Vận dụng Chứng minh Công thức/ Công thức/ định lý định lý x Vận dụng Phương pháp x IV TĨM TẮT NỘI DUNG MƠN HỌC ƒ ƒ ƒ ƒ Mơ tả điểm yếu hệ điều hành Vai trò lực hệ điều hành hệ thống máy tính Những vấn đề phát sinh trình thiết kế hệ điều hành tiếp cận khác dùng để phân tích giải vấn đề Xem xét chiến lược hệ điều hành phổ biến cách chúng tác động đến dịch vụ hệ điều hành đại V ĐỀ CƯƠNG CHI TIẾT CÁC CHƯƠNG CHƯƠNG I - TỔNG QUAN VỀ HỆ ĐIỀU HÀNH1 I.1 Mục tiêu I.2 Giới thiệu I.3 Hệ điều hành gì? I.4 Hệ thống mainframe I.5 Hệ để bàn (Desktop system) I.6 Hệ đa xử lý I.7 Hệ phân tán I.8 Hệ thống nhóm (Clustered Systems) I.9 Hệ thời thực I.10 Hệ xách tay I.11 Tóm tắt CHƯƠNG II - CẤU TRÚC HỆ ĐIỀU HÀNH II.1 Mục đích II.2 Giới thiệu II.3 Các thành phần hệ thống II.4 Các dịch vụ hệ điều hành II.5 Lời gọi hệ thống II.6 Các chương trình hệ thống II.7 Cấu trúc hệ thống II.8 Máy ảo II.9 Tóm tắt CHƯƠNG III - Q TRÌNH III.1 Mục đích III.2 Giới thiệu III.3 Khái niệm trình III.4 Lập thời biểu trình III.5 Thao tác trình III.6 Giao tiếp liên q trình III.7 Tóm tắt CHƯƠNG IV - ĐỊNH THỜI BIỂU CPU IV.1 Mục tiêu IV.2 Giới thiệu IV.3 Các khái niệm IV.4 Các tiêu chuẩn định thời IV.5 Các giải thuật định thời IV.6 Định thời biểu đa xử lý IV.7 Định thời thời gian thực IV.8 Đánh giá giải thuật IV.9 Tóm tắt CHƯƠNG V - ĐỒNG BỘ HỐ Q TRÌNH V.1 Mục tiêu V.2 Giới thiệu V.3 Tổng quan V.4 Vấn đề vùng tương trục V.5 Giải pháp V.6 Các tốn đồng hố ngun thuỷ V.7 Tóm tắt CHƯƠNG VI - DEADLOCK VI.1 Mục đích VI.2 Giới thiệu VI.3 Mơ hình hệ thống VI.4 Đặc điểm deadlock VI.5 Các phương pháp xử lý deadlock VI.6 Ngăn chặn deadlock VI.7 Tránh deadlock VI.8 Phát Deadlock VI.9 Phục hồi deadlock VI.10 Tóm tắt CHƯƠNG VII - QUẢN LÝ BỘ NHỚ VII.1 Mục đích VII.2 Giới thiệu VII.3 Đặt vấn đề VII.4 Hoán vị VII.5 Cấp phát nhớ liên tục VII.6 Cấp phát khơng liên tục VII.7 Tóm tắt CHƯƠNG VIII - BỘ NHỚ ẢO VIII.1 Mục đích VIII.2 Giới thiệu VIII.3 Kiến thức VIII.4 Phân trang theo yêu cầu VIII.5 Thay trang VIII.6 Cấp phát khung trang VIII.7 Trì trệ tồn hệ thống VIII.8 Các vấn đề khác VIII.9 Tóm tắt CHƯƠNG IX - HỆ THỐNG TẬP TIN IX.1 Mục đích IX.2 Giới thiệu IX.3 Khái niệm tập tin IX.4 Các phương pháp truy xuất IX.5 Cấu trúc thư mục IX.6 Gắn hệ thống tập tin IX.7 Chia sẻ tập tin IX.8 Bảo vệ IX.9 Tóm tắt CHƯƠNG X - CÀI ĐẶT HỆ THỐNG TẬP TIN X.1 Mục đích X.2 Giới thiệu X.3 Cấu trúc hệ thống tập tin X.4 Cài đặt hệ thống tập tin X.5 Cài đặt thư mục X.6 Các phương pháp cấp phát X.7 Quản lý khơng gian trống X.8 Tóm tắt CHƯƠNG XI - QUẢN LÝ HỆ THỐNG NHẬP/XUẤT XI.1 Mục đích XI.2 Giới thiệu XI.3 Các khái niệm XI.4 Phần cứng nhập/xuất XI.5 Giao diện nhập/xuất ứng dụng T XI.6 Hệ thống nhập/xuất nhân (kernel I/O subsytem) XI.7 Chuyển nhập/xuất tới hoạt động phần cứng XI.8 Năng lực XI.9 Tóm tắt VI TÀI LIỆU THAM KHẢO [Jean Bacon & Tim Harris], Operating Systems, Addison-Wesley, 2003 [Nguyễn Hoàng Việt], Bài giảng Hệ Điều Hành, Khoa CNTT-ĐH Cần Thơ, 1998 [Silberschatz, Galvin, Gagne], Operating System Concepts, John Wiley & Sons, 2003 [Lê Khắc Nhiên Ân, Hồng Kiếm], Giáo trình Nhập mơn hệ điều hành, Đại học Khoa học Tự nhiên, 2003 [Trần Hạnh Nhi, Hồng Kiếm], Giáo trình hệ điều hành nâng cao, Đại học Khoa học Tự nhiên,1999 VI.1.1 DUYỆT BỘ MÔN Ngày 23 tháng 04 năm 2004 CÁN BỘ BIÊN SOẠN Nguyễn Phú Trường Đại Học Cần Thơ - Khoa Công Nghệ Thơng Tin - Giáo Trình Hệ Điều Hành – V1.0 User1 User2 compliler text editor UserN database t System and Application Programs Operating System Hardware Hình 0-1 Tầm nhìn trừu tượng thành phần hệ thống máy tính III.1 Tầm nhìn người dùng Tầm nhìn người dùng máy tính đa dạng giao diện dùng Hầu hết người dùng máy tính ngồi trước máy tính cá nhân gồm có hình, bàn phím, chuột xử lý hệ thống (system unit) Một hệ thống thiết kế cho người dùng độc quyền sử dụng tài nguyên để tối ưu hố cơng việc mà người dùng thực Trong trường hợp này, hệ điều hành thiết kế dễ dàng cho việc sử dụng với quan tâm lực không quan tới việc sử dụng tài nguyên Năng lực thực quan trọng với người dùng không vấn đề hầu hết hệ thống rãnh, chờ tốc độ xuất/nhập chậm từ phía người dùng Vài người dùng ngồi thiết bị đầu cuối (terminal) nối kết tới máy tính lớn (mainframe) hay máy tính tầm trung (minicomputer) Những người khác truy xuất máy tính thơng qua thiết bị đầu cuối khác Những người dùng chia sẻ tài nguyên trao đổi thông tin Hệ điều hành thiết kế để tối ưu hoá việc sử dụng tài nguyên-để đảm bảo tất thời gian sẳn dùng CPU, nhớ thiết bị xuất nhập sử dụng hữu hiệu không cá nhân người dùng sử dụng độc quyền tài nguyên chia sẻ công Những người dùng khác ngồi trạm làm việc, nối kết tới mạng trạm làm việc khác máy chủ Những người dùng có tài nguyên tận hiến trạm làm việc họ chia sẻ tài nguyên mạng máy chủtập tin, tính tốn máy phục vụ in Do đó, hệ điều hành họ thiết kế để thoả hiệp khả sử dụng cá nhân việc tận dụng tài nguyên Gần đây, đa dạng máy tính xách tay trở thành thời trang cho người làm việc lãnh vực công nghệ thông tin Các thiết bị sử dụng cá nhân người dùng Một vài máy tính nối mạng nối trực tiếp dây hay thông qua modem không dây Do giới hạn lượng (điện) giao diện, chúng thực tương đối thao tác xa Hệ điều hành thiết kế chủ yếu cho việc sử dụng cá nhân lực thực thời gian sống pin yếu tố quan trọng Một số máy tính có hay khơng có tầm nhìn người dùng Thí dụ, máy tính nhúng vào thiết bị gia đình xe ơtơ có bảng số đèn hiển thị trạng thái mở, tắt hầu hết chúng hệ điều hành thiết kế để chạy mà không cần giao tiếp Biên soạn: Th.s Nguyễn Phú Trường - 09/2005 Trang Đại Học Cần Thơ - Khoa Công Nghệ Thơng Tin - Giáo Trình Hệ Điều Hành – V1.0 III.2 Tầm nhìn hệ thống Từ quan điểm máy tính, hệ điều hành chương trình gần gủi với phần cứng Chúng ta thấy hệ điều hành cấp phát tài nguyên Hệ thống máy tính có nhiều tài ngun - phần cứng phần mềm - mà yêu cầu để giải vấn đề: thời gian CPU, không gian nhớ, không gian lưu trữ tập tin, thiết bị xuất/nhập, Hệ điều hành hoạt động quản lý tài nguyên Đương đầu với lượng lớn yêu cầu xung đột tài nguyên, hệ điều hành phải định cách cấp phát tài nguyên tới chương trình cụ thể người dùng để điều hành hệ thống máy tính hữu hiệu cơng Một tầm nhìn khác hệ điều hành nhấn mạnh cần thiết để điều khiển thiết bị xuất/nhập khác chương trình người dùng Một hệ điều hành chương trình điều khiển Chương trình điều khiển quản lý thực thi chương trình người dùng để ngăn chặn lỗi việc sử dụng khơng hợp lý máy tính Nó đặc biệt quan tâm với thao tác điều khiển thiết bị nhập/xuất Nhìn chung, khơng có định nghĩa hồn toàn đầy đủ hệ điều hành Các hệ điều hành tồn chúng cách hợp lý để giải vấn đề tạo hệ thống máy tính sử dụng Mục tiêu hệ thống máy tính thực thi chương trình người dùng giải vấn đề người dùng dễ dàng Hướng đến mục tiêu này, phần cứng máy tính xây dựng Tuy nhiên, đơn phần cứng khơng dễ sử dụng phát triển chương trình ứng dụng Các chương trình khác địi hỏi thao tác chung đó, chẳng hạn điều khiển thiết bị xuất/nhập Sau đó, chức chung điều khiển cấp phát tài nguyên đặt lại với vào phận phần mềm gọi hệ điều hành Cũng khơng có định nghĩa bao quát chấp nhận để xác định phần thuộc hệ điều hành, phần khơng Một quan điểm đơn giản thứ liên quan lệnh hệ điều hành nên xem xét Tuy nhiên, yêu cầu nhớ đặc điểm bên khác hệ thống Một định nghĩa bao quát hệ điều hành chương trình chạy liên tục máy tính (thường gọi nhân kernel), chương trình cịn lại thuộc chương trình ứng dụng III.3 Mục tiêu hệ thống Định nghĩa hệ điều hành làm dễ xác định hệ điều hành Mục đích hệ điều hành dễ dàng sử dụng Vì tồn hệ điều hành hỗ trợ nhiều cho máy tính việc đáp ứng ứng dụng người dùng Tầm nhìn đặc biệt rõ ràng nhìn hệ điều hành máy tính cá nhân Mục tiêu thứ hai hệ điều hành điều hành hữu hệ thống máy tính Mục tiêu đặc biệt quan trọng cho hệ thống lớn, chia sẻ, nhiều người dùng Những hệ thống tiêu biểu đắt, khai thác hiệu hệ thống điều mong muốn Tuy nhiên, hai mục tiêu tiện dụng hữu hiệu mâu thuẫn Trong khứ, xem xét tính hữu hiệu thường quan trọng tính tiện dụng Do đó, lý thuyết hệ điều hành tập trung nhiều vào việc tối ưu hoá sử dụng tài ngun tính tốn Hệ điều hành phát triển dần theo thời gian Thí dụ, UNIX bắt đầu với bàn phím máy in giao diện giới hạn tính tiện dụng người dùng Qua thời gian, phần cứng thay đổi UNIX gắn vào phần cứng với giao diện thân thiện với người dùng Nhiều giao diện người dùng đồ hoạ GUIs (graphical user interfaces) bổ sung cho phép tiện dụng với người dùng quan tâm tính hiệu Biên soạn: Th.s Nguyễn Phú Trường - 09/2005 Trang Đại Học Cần Thơ - Khoa Cơng Nghệ Thơng Tin - Giáo Trình Hệ Điều Hành – V1.0 Thiết kế hệ điều hành công việc phức tạp Người thiết kế gặp phải nhiều thoả hiệp thiết kế cài đặt Nhiều người tham gia không mang đến hệ điều hành lợi điểm mà liên tục xem xét nâng cấp Để thấy rõ hệ điều hành hệ điều hành làm, xem xét cách chúng phát triển bốn mươi lăm năm qua Bằng cách lần theo tiến triển, xác định thành phần hệ điều hành thấy cách thức lý hệ điều hành phát triển chúng có Hệ điều hành kiến trúc máy tính có mối quan hệ khăng khít Để dễ dàng sử dụng phần cứng, hệ điều hành phát triển Sau đó, người dùng hệ điều hành đề nghị chuyển đổi thiết kế phần cứng để đơn giản chúng Nhìn lại lịch sử ngắn ngủi này, trọng cách giải vấn đề hệ điều hành để giới thiệu đặc điểm phần cứng IV Hệ thống mainframe Những hệ thống máy tính mainframe máy tính dùng để xử lý ứng dụng thương mại khoa học Trong phần này, lần theo phát triển hệ thống mainframe từ hệ thống bó (batch systems), máy tính chạy một-và -ứng dụng, tới hệ chia sẻ thời gian (time-shared systems), mà cho phép người dùng giao tiếp với hệ thống máy tính IV.1 Hệ thống bó Những máy tính thời kỳ đầu máy cực lớn chạy từ thiết bị cuối (console) Những thiết bị nhập thường đọc thẻ ổ đĩa băng từ Các thiết bị xuất thông thường thường máy in dòng (line printers), ổ đĩa từ phiếu đục lỗ Người dùng không giao tiếp trực tiếp với hệ thống máy tính Thay vào đó, người dùng chuẩn bị cơng việc- chứa chương trình, liệu thơng tin điều khiển tính tự nhiên cơng việc-và gởi đến người điều hành máy tính Cơng việc thường thực phiếu đục lỗ Tại thời điểm sau (sau vài phút, hay ngày), liệu xuất xuất Dữ liệu xuất chứa kết chương trình kết xuất nhớ cuối nội dung ghi cho việc gở rối Hệ điều hành máy tính thời kỳ đầu tương đối đơn giản Tác vụ chuyển điều khiển tự động từ công việc sang công việc khác Hệ điều hành thường trú nhớ Hệ điều hành Vùng chương trình người dùng Hình 0-2 Sắp xếp nhớ cho hệ thống bó đơn giản Biên soạn: Th.s Nguyễn Phú Trường - 09/2005 Trang Đại Học Cần Thơ - Khoa Công Nghệ Thơng Tin - Giáo Trình Hệ Điều Hành – V1.0 Để tăng tốc việc xử lý, người điều hành bó cơng việc có u cầu chạy chúng thơng qua máy tính nhóm Do đó, lập trình viên đưa chương trình họ cho người điều hành Người điều hành xếp chương trình thành bó với u cầu máy tính sẳn dùng chạy bó Dữ liệu xuất từ công việc gởi lại cho lập trình viên tương ứng Trong mơi trường thực thi này, CPU ln rảnh tốc độ thiết bị xuất/nhập dạng thực chất chậm tốc độ thiết bị điện Ngay CPU chậm (với hàng ngàn thị lệnh thực thi giây) làm việc vài phần trăm giây Thêm vào đó, đọc thẻ nhanh đọc 1200 thẻ thời gian phút (hay 20 thẻ giây) Do đó, khác biệt tốc độ CPU thiết bị xuất/nhập lần hay nhiều Dĩ nhiên theo thời gian, tiến công nghệ dẫn đến đời thiết bị nhập/xuất nhanh Tuy nhiên, tốc độ CPU tăng tới tỷ lệ lớn vấn đề khơng khơng giải mà cịn làm tăng Giới thiệu cơng nghệ đĩa cho phép hệ điều hành giữ tất công việc đĩa đọc thẻ Với việc truy xuất trực tiếp tới nhiều công việc, hệ điều hành thực định thời công việc, để sử dụng tài nguyên thực tác vụ hữu hiệu IV.2 Hệ đa chương Một khía cạnh quan trọng định thời cơng việc khả đa chương Thông thường, người dùng giữ CPU hay thiết bị xuất/nhập bận Đa chương gia tăng khả sử dụng CPU cách tổ chức cơng việc để CPU ln có công việc để thực thi Ý tưởng kỹ thuật đa chương minh hoạ sau: Hệ điều hành giữ nhiều công việc nhớ thời điểm Tập hợp công việc tập công việc giữ vùng công việc-bởi số lượng cơng việc giữ lúc nhớ thường nhỏ số cơng việc có vùng đệm Hệ điều hành lấy bắt đầu thực thi cơng việc có nhớ Cuối cùng, cơng việc phải chờ vài tác vụ thao tác xuất/nhập để hoàn thành Trong hệ thống đơn chương, CPU chờ trạng thái rỗi Trong hệ thống đa chương, hệ điều hành chuyển sang thực thi công việc khác Cuối cùng, công việc kết thúc việc chờ nhận CPU trở lại Chỉ cần công việc cần thực thi, CPU không trạng thái rỗi Hệ điều hành Công việc Công việc Công việc 512K Cơng việc Hình 0-3 Sắp xếp nhớ cho hệ đa chương Biên soạn: Th.s Nguyễn Phú Trường - 09/2005 Trang Đại Học Cần Thơ - Khoa Cơng Nghệ Thơng Tin - Giáo Trình Hệ Điều Hành – V1.0 Đa chương trường hợp hệ điều hành phải thực định cho người dùng Do đó, hệ điều hành đa chương tương đối tinh vi Tất công việc đưa vào hệ thống giữ vùng công việc Vùng chứa tất trình định vị đĩa chờ cấp phát nhớ Nếu nhiều cơng việc sẳn sàng mang vào nhớ không đủ khơng gian cho tất hệ điều hành phải chọn chúng Khi hệ điều hành chọn cơng việc từ vùng cơng việc, nạp cơng việc vào nhớ để thực thi Có nhiều chương trình nhớ thời điểm yêu cầu phải có quản lý nhớ Ngồi ra, nhiều công việc sẳn sàng chạy thời điểm, hệ thống phải chọn chúng Thực định định thời CPU Cuối cùng, nhiều công việc chạy đồng hành đòi hỏi hoạt động chúng ảnh hưởng tới cơng việc khác bị hạn chế tất giai đoạn hệ điều hành bao gồm định thời trình, lưu trữ đĩa, quản lý nhớ IV.3 Hệ chia thời Hệ thống bó-đa chương cung cấp mơi trường nơi mà nhiều tài nguyên khác (chẳng hạn CPU, nhớ, thiết bị ngoại vi) sử dụng hiệu Tuy nhiên, khơng cung cấp giao tiếp người dùng với hệ thống máy tính Chia thời (hay đa nhiệm) mở rộng luận lý đa chương CPU thực thi nhiều công việc cách chuyển đổi qua lại chúng, chuyển đổi xảy thường xuyên để người dùng giao tiếp với chương trình chạy Một hệ thống máy tính giao tiếp (interactive computer) hay thực hành (handson computer system) cung cấp giao tiếp trực tuyến người dùng hệ thống Người dùng cho thị tới hệ điều hành hay trực tiếp tới chương trình, sử dụng bàn phím hay chuột chờ nhận kết tức Do đó, thời gian đáp ứng nên ngắn-điển hình phạm vi giây hay Một hệ thống chia thời cho phép nhiều người dùng chia sẻ máy tính thời điểm Vì hoạt động hay lệnh hệ chia thời phục vụ ngắn, thời gian CPU yêu cầu cho người dùng Khi hệ thống nhanh chóng chuyển từ người dùng sang người dùng kế, người dùng cho cảm giác toàn hệ thống máy tính tận hiến cho mình, thật máy tính chia sẻ cho nhiều người dùng Một hệ điều hành chia thời sử dụng định thời CPU đa chương để cung cấp người dùng với phần nhỏ máy tính chia thời Mỗi người dùng có chương trình riêng nhớ Một chương trình nạp vào nhớ thực thi thường gọi trình Khi trình thực thi, điển hình thực thi thời điểm ngắn trước kết thúc hay cần thực xuất/nhập Xuất/nhập giao tiếp; nghĩa liệu xuất hiển thị hình cho người dùng liệu nhập từ bàn phím, chuột hay thiết bị khác Vì giao tiếp xuất/nhập chủ yếu chạy “tốc độ người dùng”, khoảng thời gian dài để hồn thành Thí dụ, liệu nhập bị giới hạn tốc độ nhập người dùng; ký tự giây nhanh người dùng, chậm so với máy tính Thay để CPU rảnh người dùng nhập liệu, hệ điều hành nhanh chóng chuyển CPU tới chương trình khác Hệ điều hành chia thời phức tạp nhiều so với hệ điều hành đa chương Trong hai dạng, nhiều công việc giữ lúc nhớ hệ thống phải có chế quản lý nhớ bảo vệ Để đạt thời gian đáp ứng hợp lý, cơng việc hốn vị vào nhớ Một phương pháp chung để đạt mục tiêu nhớ ảo, kỹ thuật cho phép việc thực thi cơng việc khơng hồn tồn nhớ Ưu điểm chế nhớ ảo chương Biên soạn: Th.s Nguyễn Phú Trường - 09/2005 Trang Đại Học Cần Thơ - Khoa Công Nghệ Thông Tin - Giáo Trình Hệ Điều Hành – V1.0 trọng tính hiệu sử dụng tất phần cứng sẳn có Nó thực yêu cầu nhiều ứng dụng sẳn dùng để chạy Các hình thức khác nhóm gồm nhóm song song (parallel clusters) nhóm qua WAN Các nhóm song song cho phép nhiều máy chủ truy xuất liệu thiết bị lưu trữ chia sẻ Vì hầu hết hệ điều hành hỗ trợ nghèo nàn việc truy xuất liệu đồng thời nhiều máy chủ, nhóm song song thường thực ấn phần mềm đặc biệt phát hành ứng dụng đặc biệt Thí dụ, Oracle Parallel Server ấn sở liệu Oracle, lớp phần mềm ghi vết việc truy xuất tới đĩa chia sẻ Mỗi máy có truy xuất đầy đủ tới liệu sở liệu Mặc dù có nhiều cải tiến tính tốn phân tán, hầu hết hệ thống không cung cấp hệ thống tập tin phân tán mục đích chung (general-purpose distributed file systems) Do đó, hầu hết nhóm khơng cho phép truy xuất chia sẻ tới liệu đĩa Cho mục đích này, hệ thống tập tin phân tán phải cung cấp điều khiển truy xuất khoá tập tin để đảm bảo khơng có thao tác xung đột xảy Loại dịch vụ thường gọi quản lý khoá phân tán (distributed lock manager-DLM) Cơng nghệ nhóm nhanh chóng thay đổi Những định hướng nhóm gồm nhóm tồn cục, máy định vị nơi giới (hay nơi WAN đạt tới) Các dự án chủ đề cho nghiên cứu phát triển Việc sử dụng hệ thống nhóm đặc tính nên mở rộng mạng vùng lưu trữ (storage-area networks-SANs) chiếm ưu SANs cho phép gán dễ dàng nhiều máy chủ tới nhiều đơn vị lưu trữ Các nhóm thường bị giới hạn tới hai hay bốn máy chủ phức tạp nối kết máy chủ tới thiết bị lưu trữ chia sẻ IX Hệ thời thực Một dạng khác hệ điều hành có mục đích đặc biệt hệ thời thực (real-time system) Hệ thời thực dùng yêu cầu thời gian khắt khe đặt thao tác xử lý hay dịng liệu; đó, thường dùng thiết bị điều khiển ứng dụng tận hiến Các cảm biến mang liệu tới máy tính Máy tính phải phân tích liệu thích ứng điều khiển để hiệu chỉnh liệu nhập cảm biến Các hệ thống điều khiển thí nghiệm khoa học, hệ thống ảnh hố y tế, hệ thống điều khiển cơng nghệ hệ thống hiển thị, Các hệ thống phun dầu động ôtô, điều khiển dụng cụ nhà, hệ thống vũ khí hệ thống thời thực Một hệ thống thời thực có ràng buộc cố định, rõ ràng Xử lý phải thực phạm vi ràng buộc định nghĩa hay hệ thống thất bại Một hệ thời thực thực chức trả kết thời gian ràng buộc Tương phản với yêu cầu hệ chia thời, mong muốn (nhưng khơng bắt buộc) đáp ứng nhanh, hay hệ thống bó, khơng có ràng buộc thời gian Hệ thời thực có hai dạng: cứng mềm Hệ thời thực cứng đảm bảo tác vụ tới hạn hồn thành Mục tiêu địi hỏi tất trì hỗn hệ thống bị giới hạn, từ việc lấy lại liệu lưu trữ thời gian hệ điều hành hoàn thành yêu cầu cho Các ràng buộc thời gian lệnh phương tiện sẳn có hệ thời thực cứng Thiết bị lưu trữ phụ thứ hạng thường bị giới hạn hay bị với liệu lưu nhớ lưu trữ ngắn hạn (shortterm memory) hay nhớ đọc (ROM) Hầu hết hệ điều hành đại Biên soạn: Th.s Nguyễn Phú Trường - 09/2005 Trang 12 Đại Học Cần Thơ - Khoa Công Nghệ Thông Tin - Giáo Trình Hệ Điều Hành – V1.0 khơng cung cấp đặc điểm chúng có khuynh hướng tách rời người dùng từ phần cứng tách rời dẫn đến lượng thời gian không xác định mà thao tác Thí dụ, nhớ ảo chưa thấy hệ thời thực Do đó, hệ thời thực cứng xung đột với thao tác hệ chia thời hai hệ đan xen Vì khơng có hệ điều hành đa mục đích có hỗ trợ chức thời thực cứng; không tập trung với loại hệ thống chương Một loại thời thực hạn chế hệ thời thực mềm, tác vụ thời thực tới hạn có độ ưu tiên tác vụ khác trì độ ưu tiên chúng hoàn thành Như hệ thời thực cứng, trì hỗn nhân (kernel) hệ điều hành trì hỗn u cầu giới hạn Một tác vụ thời thực giữ việc chờ không xác định nhân để thực thi Thời thực mềm mục tiêu đạt đan xen với loại hệ thống khác Tuy nhiên, hệ thời thực mềm có tiện ích giới hạn hệ thời thực cứng Vì khơng hỗ trợ tốt cho thời điểm tới hạn, nên hệ thời thực mềm dễ gây rủi ro dùng cho việc kiểm sốt cơng nghệ tự động hố Tuy nhiên, chúng có ích nhiều lĩnh vực đa phương tiện, thực tế ảo, dự án khoa học tiên tiến-như khám phá lòng đại dương khám phá hành tinh Những hệ thống cần đặc điểm hệ điều hành tiên tiến mà không hỗ trợ hệ thời thực cứng Vì việc sử dụng chức thời thực mềm mở rộng nên tìm cách đưa chúng vào hầu hết hệ điều hành tại, gồm ấn thức UNIX X Hệ xách tay Hệ xách tay gồm máy hỗ trợ cá nhân dùng kỹ thuật số (personal digital assistants-PDAs) Palm hay điện thoại di động (cellular telephone) với nối kết tới mạng Internet Những người phát triển hệ xách tay ứng dụng gặp phải nhiều thử thách, giới hạn kích thước thiết bị Thí dụ, PDA điển hình cao khoảng inches rộng khoảng inches trọng lượng 0.5 pound Do giới hạn kích thước này, hầu hết thiết bị xách tay có nhớ nhỏ gồm xử lý thấp hình hiển thị nhỏ Bây xem xét giới hạn Nhiều thiết bị xách tay có dung lượng nhớ 512KB MB (ngược lại, máy PC hay trạm làm việc có hàng trăm MB nhớ) Do đó, hệ điều hành ứng dụng phải quản lý nhớ hiệu Điều gồm trả tất nhớ cấp phát tới quản lý nhớ nhớ khơng cịn dùng Hiện nay, nhiều thiết bị xách tay khơng dùng kỹ thuật nhớ ảo buộc người phát triển chương trình làm việc phạm vi giới hạn nhớ vật lý Vấn đề thứ hai quan tâm đến người phát triển thiết bị xách tay tốc độ xử lý dùng thiết bị Các xử lý hầu hết thiết bị xách tay thường chạy với tốc độ phần tốc độ xử lý máy PC Các xử lý nhanh yêu cầu điện nhiều Để chứa xử lý nhanh bên thiết bị xách tay nên yêu cầu nhiều pin hơn phải nạp lại thường xuyên Để tối thiểu hoá kích thước thiết bị xách tay địi hỏi xử lý nhỏ hơn, chậm tiêu thụ điện Do đó, hệ điều hành ứng dụng phải thiết kế khơng địi hỏi sử dụng nhiều xử lý Vấn đề cuối gây khó khăn cho người thiết kế chương trình cho thiết bị xách tay hình hiển thị nhỏ Trong hình cho máy tính nhà kích thước 21 inches, hình cho thiết bị xách tay thường có diện tích khơng q inches Những tác vụ quen thuộc đọc e-mail hay hiển thị trang web, phải cô đọng vào hình nhỏ Một phương pháp để hiển thị nội dung trang Biên soạn: Th.s Nguyễn Phú Trường - 09/2005 Trang 13 Đại Học Cần Thơ - Khoa Cơng Nghệ Thơng Tin - Giáo Trình Hệ Điều Hành – V1.0 web cắt xén web (web clipping), tập hợp nhỏ trang web phân phát hiển thị thiết bị xách tay Một số thiết bị xách tay dùng cơng nghệ không dây BlueTooth, cho phép truy xuất từ xa tới e-mail trình duyệt web Các điện thoại di động với nối kết Internet thuộc loại Tuy nhiên, nhiều PDAs không cung cấp truy xuất không dây Để tải liệu xuống thiết bị này, trước tiên người dùng tải liệu xuống PC hay trạm sau tải liệu xuống PDA Một số PDA cho phép liệu chép trực tiếp từ thiết bị tới thiết bị khác dùng liên kết hồng ngoại Nhìn chung, giới hạn chức PDA cân tiện dụng linh động chúng Việc sử dụng chúng tiếp tục mở rộng nối kết mạng trở nên sẳn dùng chọn lựa khác máy ảnh MP3 players, mở rộng tiện ích chúng XI Tóm tắt Hệ điều hành phát triển 45 năm qua với hai mục đích Mục đích thứ nhất, hệ điều hành cố gắng lập thời biểu hoạt động tính tốn để đảm bảo lực thực hệ thống tốt Mục đích thứ hai, cung cấp mơi trường tiện dụng để phát triển thực thi chương trình Ban đầu, hệ thống máy tính dùng từ hình bàn phím (thiết bị đầu cuối) Các phần mềm hợp ngữ (assembler), nạp (loader), liên kết (linkers) trình biên dịch (compiler) cải tiến tiện dụng việc lập trình hệ thống yêu cầu thời gian thiết lập đáng kể Để giảm thời gian thiết lập, phương tiện thuê người điều hành cơng việc tuơng tự bó Các hệ thống xử lý theo lô cho phép xếp công việc tự động hệ điều hành cải tiến nhiều việc tận dụng tồn máy tính Máy tính khơng cịn phải chờ thao tác người dùng Tuy nhiên, việc tận dụng CPU thấp tốc độ thiết bị xuất nhập thấp nhiều so với tốc độ CPU Thao tác ngoại vi (off-line operation) thiết bị chậm cung cấp phương tiện sử dụng nhiều hệ thống đọc tới băng từ (reader-to-tape) băng từ tới máy in (tape-to-printer) cho CPU Để cải tiến toàn lực thực hệ thống máy tính, người phát triển giới thiệu khái niệm đa chương nhiều cơng việc giữ lúc nhớ thời điểm CPU chuyển qua lại chúng để gia tăng việc tận dụng CPU giảm toàn thời gian yêu cầu để thực thi công việc Đa chương cho phép chia sẻ thời gian Hệ điều hành chia sẻ thời gian cho phép nhiều người dùng (từ tới vài trăm) sử dụng hệ thống máy tính giao tiếp thời điểm PC máy vi tính; chúng xem nhỏ rẻ hệ thống mainframe Các hệ điều hành cho máy tính lợi việc phát triển hệ điều hành cho máy tính mainframe nhiều cách Tuy nhiên, cá nhân người dùng sử dụng máy tính nên việc tận dụng CPU khơng cịn mối quan tâm chủ yếu Do đó, vài định thiết kế thực cho hệ điều hành cho máy mainframe khơng phù hợp cho hệ thống nhỏ lớn, PCs nối kết tới máy tính khác người dùng thơng qua mạng Web Các hệ song song có nhiều CPU giao tiếp gần; CPU chia sẻ bus máy tính đơi chia sẻ nhớ thiết bị ngoại vi Những hệ thống cung cấp thơng lượng khả tin cậy tăng Các hệ thống phân tán cho phép chia sẻ tài nguyên máy chủ phân tán mặt địa lý Các hệ thống nhóm cho phép nhiều máy thực việc tính toán liệu chứa Biên soạn: Th.s Nguyễn Phú Trường - 09/2005 Trang 14 Đại Học Cần Thơ - Khoa Cơng Nghệ Thơng Tin - Giáo Trình Hệ Điều Hành – V1.0 thiết bị lưu trữ chia sẻ để việc tính tốn tiếp tục trường hợp lỗi tập hợp thành viên nhóm Một hệ thời thực cứng thường dùng thiết bị điều khiển ứng dụng tận hiến Một hệ điều hành thời thực cứng có ràng buộc hoàn toàn xác định thời gian cố định Xử lý phải thực ràng buộc xác định hệ thống bị lỗi Các hệ thống thời thực mềm có ràng buộc thời gian nghiêm khắc không hỗ trợ thời biểu tới hạn Gần tác động Internet World Wide Web khuyến khích phát triển hệ điều hành đại Các hệ điều hành chứa trình duyệt Web, mạng phần mềm truyền thơng đặc điểm tích hợp Chúng ta thể tiến trình luận lý phát hệ điều hành, định hướng bao gồm đặc điểm phần cứng CPU yêu cầu cho chức tiên tiến Xu hướng thấy ngày cách mạng PC, với phần cứng ngày rẻ cải tiến đủ phép cải tiến đặc điểm Biên soạn: Th.s Nguyễn Phú Trường - 09/2005 Trang 15 Đại Học Cần Thơ - Khoa Công Nghệ Thông Tin - Giáo Trình Hệ Điều Hành – V1.0 trình tạo ra, hay cấp phát tới nó chạy Ngồi ra, tài ngun vật lý luận lý khác mà trình nhận tạo, liệu khởi tạo khác (hay nhập) truyền qua Thí dụ, xem xét q trình có chức hiển thị trạng thái tập tin hình thiết bị đầu cuối Quá trình cho liệu vào tên tập tin, thực thi thị thích hợp lời gọi hệ thống đạt xuất thiết bị cuối thơng tin mong muốn Khi q trình kết thúc, hệ điều hành đòi lại tài nguyên dùng lại Chúng ta nhấn mạnh chương trình khơng phải trình; chương trình thực thể thụ động, nội dung tập tin lưu đĩa, trái lại trình thực thể hoạt động, với đếm chương trình xác định thị để thực thi Việc thực thi trình phải CPU thực thi thị trình sau thực thi thực trước q trình hồn thành Ngồi ra, thời điểm nào, tối đa thị thực thi cho q trình Do đó, hai q trình liên kết với q trình, chúng xem hai chuỗi thực thi riêng Thơng thường có chương trình sinh nhiều q trình thực thi Một q trình đơn vị công việc hệ thống Một hệ thống chứa tập trình, vài trình trình hệ điều hành (thực thi mã hệ thống) q trình cịn lại trình người dùng (chúng thực thi mã người dùng) Tất q trình có tiềm thực thi đồng hành cách đa hợp CPU q trình Hệ điều hành có nhiệm vụ cho hoạt động sau đề cập đến chức quản lý q trình: o Tạo xố trình người dùng hệ thống o Tạm dừng thực thi tiếp trình o Cung cấp chế đồng hố q trình o Cung cấp chế giao tiếp trình o Cung cấp chế quản lý deadlock III.2 Quản lý nhớ Bộ nhớ trung tâm điều hành máy tính đại Bộ nhớ mảng từ (words) hay bytes có kích thước lớn từ hàng trăm ngàn tới hàng tỉ Mỗi từ hay byte có địa riêng Bộ nhớ kho chứa liệu có khả truy xuất nhanh chia sẻ CPU thiết bị xuất/nhập Bộ xử lý trung tâm đọc thị từ nhớ chu kỳ lấy thị, đọc viết liệu từ nhớ chu kỳ lấy liệu Bộ nhớ thường thiết bị lưu trữ lớn mà CPU định địa truy xuất trực tiếp Thí dụ, CPU xử lý liệu từ đĩa, liệu trước tiên chuyển tới nhớ lời gọi xuất/nhập sinh CPU Tương tự, thị phải nhớ cho CPU thực thi chúng Đối với chương trình thực thi, phải ánh xạ địa nạp vào nhớ Khi chương trình thực thi, truy xuất thị chương trình liệu từ nhớ cách tạo địa tuyệt đối Cuối cùng, chương trình kết thúc, khơng gian nhớ khai báo sẳn, chương trình nạp thực thi Để cải tiến việc sử dụng CPU tốc độ đáp ứng máy tính cho người dùng, phải giữ nhiều chương trình vào nhớ Nhiều chế quản lý nhớ khác dùng tính hiệu giải thuật phụ thuộc vào trường hợp cụ thể Chọn chế quản lý nhớ cho hệ thống xác định phụ thuộc vào nhiều Biên soạn: Th.s Nguyễn Phú Trường - 09/2005 Trang 19 Đại Học Cần Thơ - Khoa Công Nghệ Thông Tin - Giáo Trình Hệ Điều Hành – V1.0 yếu tố-đặc biệt thiết kế phần cứng hệ thống Mỗi giải thuật đòi hỏi hỗ trợ phần cứng Hệ điều hành có nhiệm vụ cho hoạt động sau đề cập tới việc quản lý nhớ o Giữ vết phần nhớ dùng trình dùng o Quyết định trình nạp vào nhớ không gian nhớ trở nên sẳn dùng o Cấp phát thu hồi không gian nhớ yêu cầu III.3 Quản lý tập tin Quản lý tập tin thành phần nhìn thấy hệ điều hành Máy tính lưu thơng tin nhiều loại phương tiện lưu trữ vật lý khác Băng từ, đĩa từ, đĩa quang phương tiện thông dụng Mỗi phương tiện có đặc điểm tổ chức riêng Mỗi phương tiện điều khiển thiết bị, ổ đĩa hay ổ băng từ Các thuộc tính bao gồm tốc độ truy xuất, dung lượng, tốc độ truyền liệu phương pháp truy xuất (tuần tự hay ngẫu nhiên) Nhờ vào việc sử dụng thuận lợi hệ thống máy tính, hệ điều hành cung cấp tầm nhìn luận lý việc lưu trữ thơng tin đồng Hệ điều hành trừu tượng hố thuộc tính vật lý thiết bị lưu trữ để định nghĩa đơn vị lưu trữ luận lý tập tin Hệ điều hành ánh xạ tập tin thiết bị lưu trữ vật lý, truy xuất tập tin thiết bị lưu trữ Tập tin tập hợp thông tin có quan hệ định nghĩa người tạo Thơng thường, tập tin biểu diễn chương trình liệu Các tập tin liệu số, chữ cái, chữ số Các tập tin có dạng (thí dụ, tập tin văn bản) hay định dạng có cấu trúc (thí dụ, trường cố định) Một tập tin chứa chuỗi bits, bytes, dòng hay mẫu tin mà ý nghĩa định nghĩa người tạo Khái niệm tập tin khái niệm thông dụng Hệ điều hành cài đặt khái niệm trừu tượng tập tin cách quản lý phương tiện lưu trữ đĩa, băng từ thiết bị điều khiển chúng Các tập tin thường tổ chức thư mục để dễ dàng sử dụng chúng Cuối cùng, nhiều người dùng truy xuất tập tin, muốn kiểm soát cách (thí dụ: đọc, viết, chèn, ) tập tin truy xuất Hệ điều hành có nhiệm vụ thực hoạt động việc quản lý hệ thống tập tin: o Tạo xoá tập tin o Tạo xoá thư mục o Hỗ trợ hàm nguyên thuỷ để thao tác tập tin thư mục o Ánh xạ tập tin thiết bị lưu trữ phụ o Sao lưu dự phòng tập tin phương tiện lưu trữ ổ định III.4 Quản lý hệ thống xuất/nhập Một mục đích hệ điều hành che giấu khác biệt thiết bị phần cứng từ người dùng Thí dụ, UNIX khác biệt thiết bị xuất/nhập bị che giấu từ phần hệ điều hành hệ thống xuất/nhập Hệ thống xuất/nhập chứa: o Thành phần quản lý nhớ chứa vùng đệm (buffering), lưu trữ (caching) spooling (vùng chứa) Biên soạn: Th.s Nguyễn Phú Trường - 09/2005 Trang 20 Đại Học Cần Thơ - Khoa Công Nghệ Thông Tin - Giáo Trình Hệ Điều Hành – V1.0 o Giao diện trình điều khiển thiết bị chung o Trình điều khiển cho thiết bị xác định Chỉ trình điều khiển thiết bị biết khác biệt thiết bị xác định mà gán III.5 Quản lý việc lưu trữ phụ Mục đích hệ thống máy tính thực thi chương trình Những chương trình với liệu chúng truy xuất phải nằm nhớ hay lưu trữ q trình thực thi Vì nhớ q nhỏ để lưu tất liệu chương trình liệu quản lý bị mất điện, hệ thống máy tính phải cung cấp việc lưu trữ phụ để lưu dự phịng nhớ Hầu hết hệ thống máy tính đại dùng đĩa phương tiện lưu trữ trực tuyến cho chương trình liệu Hầu hết chương trình – gồm trình biên dịch, trình dịch hợp ngữ, thủ tục xếp, trình soạn thảo trình định dạng – lưu đĩa nạp vào nhớ sau dùng đĩa hai nguồn đích việc xử lý Do đó, quản lý hợp lý việc lưu trữ đĩa có vai trị quan trọng hệ thống máy tính Hệ điều hành có nhiệm vụ thực hoạt động sau việc quản lý đĩa: o Quản lý không gian trống o Cấp phát lưu trữ o Định thời đĩa Vì lưu trữ phụ dùng thường xuyên nên phải dùng cách hiệu Tốc độ tồn thao tác máy tính xoay quanh tốc độ hệ thống đĩa giải thuật thao tác hệ thống III.6 Mạng Hệ phân tán tập hợp xử lý, chúng không chia sẻ nhớ, thiết bị ngoại vi hay đồng hồ Thay vào xử lý có nhớ, đồng hồ xử lý giao tiếp với thông qua đường giao tiếp bus tốc độ cao hay mạng Các xử lý hệ thống phân tán khác kích thước chức Chúng chứa vi xử lý, trạm làm việc, máy vi tính hệ thống máy tính thơng thường Các xử lý hệ thống nối với thơng qua mạng truyền thơng cấu hình nhiều cách khác Mạng nối kết phần hay toàn Thiết kế mạng truyền thông phải xem xét vạch đường thông điệp chiến lược nối kết, vấn đề cạnh tranh hay bảo mật Hệ thống phân tán tập hợp hệ thống vật lý riêng rẻ, có kiến trúc không đồng thành hệ thống chặt chẻ, cung cấp người dùng với truy xuất tới tài nguyên khác mà hệ thống trì Truy xuất tới tài nguyên chia sẻ cho phép tăng tốc độ tính tốn, chức năng, khả sẳn dùng liệu, khả tin cậy Hệ điều hành thường tổng quát hoá việc truy xuất mạng dạng truy xuất tập tin, với chi tiết mạng chứa trình điều khiển thiết bị giao diện mạng Các giao thức tạo hệ thống phân tán có ảnh hưởng to lớn tiện ích tính phổ biến hệ thống Sự đổi World Wide Web tạo phương pháp truy xuất cho thông tin chia sẻ Nó cải tiến giao thức truyền tập tin (File Transfer Protocol-FTP) hệ thống tập tin mạng (Network File System-NFS) có cách xố u cầu cho người dùng đăng nhập trước người dùng phép dùng tài nguyên xa Định nghĩa giao thức mới, giao thức truyền siêu văn (hypertext transfer protocol-http), dùng giao tiếp trình phục vụ web trình duyệt web Trình duyệt web cần gởi u cầu thơng tin tới trình Biên soạn: Th.s Nguyễn Phú Trường - 09/2005 Trang 21 Đại Học Cần Thơ - Khoa Công Nghệ Thông Tin - Giáo Trình Hệ Điều Hành – V1.0 phục vụ web máy xa, thông tin (văn bản, đồ hoạ, liên kết tới thông tin khác) trả III.7 Hệ thống bảo vệ Nếu hệ thống máy tính có nhiều người dùng cho phép thực thi đồng hành nhiều trình, trình khác phải bảo vệ từ hoạt động q trình khác Cho mục đích này, chế đảm bảo tập tin, phân đoạn nhớ, CPU, tài nguyên khác điều hành q trình có quyền phù hợp từ hệ điều hành Thí dụ, phần cứng định địa nhớ đảm bảo trình thực thi khơng gian địa Bộ định thời đảm bảo khơng có q trình đạt điều khiển CPU mà cuối không trả lại điều khiển Các ghi điều khiển thiết bị truy xuất tới người dùng tính đắn thiết bị ngoại vi khác bảo vệ Bảo vệ chế để điều khiển truy xuất chương trình, trình hay người dùng tới tài nguyên định nghĩa hệ thống máy tính Cơ chế phải cung cấp phương tiện để đặc tả điều khiển áp đặt phương tiện cho việc ép buộc Bảo vệ cải tiến khả tin cậy cách phát lỗi tiềm tàng giao diện hệ thống thành phần Phát lỗi giao diện sớm thường ngăn chặn nguy ảnh hưởng tới hệ thống hệ thống khác Tài nguyên không bảo vệ ngăn chặn việc sử dụng người dùng khơng có quyền Hệ thống hướng bảo vệ (protection-oriented system) cung cấp phương tiện để phân biệt việc dùng có quyền khơng có quyền III.8 Hệ thống thơng dịch lệnh Một chương trình hệ thống quan trọng hệ điều hành trình thơng dịch lệnh Nó giao diện người dùng hệ điều hành Một vài hệ điều hành chứa trình thơng dịch lệnh nhân (kernel) Các hệ điều hành khác MS-DOS UNIX xem trình thơng dịch lệnh chương trình đặc biệt chạy cơng việc khởi tạo hay người dùng đăng nhập lần (trên hệ thống chia thời) Nhiều lệnh (commands) cung cấp tới hệ điều hành lệnh điều khiển (control statements) Khi công việc bắt đầu hệ thống bó, hay người dùng đăng nhập tới hệ thống chia thời, chương trình đọc thơng dịch câu lệnh điều khiển thực thi tự động Chương trình cịn gọi trình thơng dịch thẻ điều khiển (control-card interpreter) hay trình thơng dịch dịng lệnh thường biết shell Chức đơn giản là: lấy câu lệnh thực thi Các hệ điều hành thường khác vùng shell, với trình thơng dịch lệnh thân thiện với người dùng làm cho hệ thống chấp nhập nhiều người dùng Một dạng giao diện thân thiện người dùng hệ thống trình đơn-cửa sổ sở chuột (mouse-based window-and-menu system) dùng Macintosh Microsoft Windows Chuột di chuyển tới vị trí trỏ chuột ảnh hay biểu tượng hình biểu diễn chương trình, tập tin, hàm hệ thống Phụ thuộc vào vị trí trỏ chuột, nhấn nút chuột nạp chương trình, chọn tập tin hay thư mục hay kéo xuống trình đơn chứa câu lệnh Các shell mạnh hơn, phức tạp khó học đánh giá cao số người dùng khác Trong shell này, lệnh đánh vào từ bàn phím Biên soạn: Th.s Nguyễn Phú Trường - 09/2005 Trang 22 Đại Học Cần Thơ - Khoa Công Nghệ Thông Tin - Giáo Trình Hệ Điều Hành – V1.0 hiển thị hình hay in thiết bị đầu cuối, với phím enter (hay return) lệnh hoàn thành sẳn sàng thực thi Shell MS-DOS UNIX điều hành theo cách Các câu lệnh giải việc tạo quản lý trình, quản lý xuất/nhập, quản lý việc lưu trữ phụ, quản lý nhớ chính, truy xuất hệ thống tập tin, bảo vệ mạng IV Các dịch vụ hệ điều hành Hệ điều hành cung cấp môi trường cho việc thực thi chương trình Nó cung cấp dịch vụ xác định tới chương trình tới người dùng chương trình Dĩ nhiên, dịch vụ cung cấp khác từ hệ điều hành với hệ điều hành chúng xác định lớp chung Các dịch vụ hệ điều hành cung cấp tiện dụng cho người lập trình để thực tác vụ lập trình dễ dàng o Thực thi chương trình: hệ thống phải nạp chương trình vào nhớ chạy chương trình Chương trình phải kết thúc việc thực thi bình thường hay khơng bình thường (hiển thị lỗi) o Thao tác xuất/nhập: chương trình chạy yêu cầu xuất/nhập Xuất/nhập liên quan tới tập tin hay thiết bị xuất/nhập Đối với thiết bị cụ thể, chức đặc biệt mong muốn (như quay lại từ đầu ổ băng từ, hay xố hình) Đối với tính hiệu tính bảo vệ, người dùng thường điều khiển thiết bị xuất/nhập trực tiếp Do đó, hệ điều hành phải cung cấp phương tiện để thực xuất/nhập o Thao tác hệ thống tập tin: hệ thống tập tin có quan tâm đặc biệt Các chương trình cần đọc từ viết tới tập tin Chương trình cần tạo xoá tập tin tên o Giao tiếp: nhiều trường hợp, trình cần trao đổi thơng tin với q trình khác Giao tiếp xảy hai cách Cách xảy trình thực thi máy tính; cách thứ hai xảy hai trình thực thi máy tính khác kết nối với mạng máy tính Các giao tiếp thực nhớ chia sẻ, hay kỹ thuật truyền thơng điệp, gói tin di chuyển trình hệ điều hành o Phát lỗi: hệ điều hành liên tục yêu cầu nhận biết lỗi phát sinh Các lỗi xảy CPU phần cứng nhớ (như lỗi nhớ hay lỗi điện), thiết bị xuất/nhập (như lỗi chẳn lẻ băng từ, lỗi nối kết mạng, hết giấy in) chương trình người dùng (như tràn số học, cố gắng truy xuất vị trí nhớ khơng hợp lệ, dùng nhiều thời gian CPU) Đối với loại lỗi, hệ điều hành nên thực hoạt động hợp lý để đảm bảo tính tốn khơng đổi Ngồi ra, tập chức khác hệ điều hành tồn không giúp người dùng, đảm bảo điều hành hữu hiệu hệ thống Các hệ thống với nhiều người dùng đạt tính hữu hiệu cách chia sẻ tài nguyên máy tính người dùng o Cấp phát tài nguyên: nhiều người dùng đăng nhập vào hệ thống hay nhiều công việc chạy lúc, tài nguyên phải cấp tới người dùng Nhiều loại tài nguyên khác quản lý hệ điều hành Một số tài nguyên (như chu kỳ CPU, nhớ chính, lưu trữ tập tin) có mã cấp Biên soạn: Th.s Nguyễn Phú Trường - 09/2005 Trang 23 Đại Học Cần Thơ - Khoa Công Nghệ Thông Tin - Giáo Trình Hệ Điều Hành – V1.0 phát đặt biệt, trái lại tài nguyên khác (như thiết bị xuất/nhập) có mã u cầu giải phóng thường Thí dụ, xác định cách tốt để dùng CPU, hệ điều hành có thủ tục định thời biểu CPU Các thủ tục xem xét tốc độ CPU, công việc phải thực thi, số ghi sẳn dùng yếu tố khác Cũng có thủ tục cấp phát ổ băng từ để dùng cho công việc Một thủ tục định vị ổ băng từ chưa dùng đánh dấu bảng bên để ghi người dùng ổ băng từ Một thủ tục khác dùng để xoá bảng Các thủ tục cấp phát máy vẽ, modem, thiết bị ngoại vi khác o Tính tốn: muốn giữ vết người dùng sử dụng loại tài nguyên máy tính Giữ vết dùng để tính tốn (tính tiền người dùng) hay đơn giản thống kê sử dụng Thống kê sử dụng cơng cụ có giá trị cho người nghiên cứu muốn cấu hình lại hệ thống để cải tiến dịch vụ tính tốn o Bảo vệ: người sở hữu thơng tin lưu hệ thống máy tính đa người dùng muốn điều khiển thông tin Khi nhiều trình riêng rẻ thực thi đồng hành, khơng thể cho trình can thiệp tới trình khác hay tới hệ điều hành Bảo vệ đảm bảo tất truy xuất tài nguyên hệ thống kiểm sốt An tồn hệ thống từ người dùng bên vấn đề quan trọng An toàn bắt đầu với người dùng có quyền hệ thống, thường mật để phép truy xuất tài nguyên Mở rộng việc bảo vệ thiết bị xuất/nhập bên ngoài, bao gồm modem, card mạng từ truy xuất không hợp lệ, ghi lại nối kết để phát đột nhập vào hệ thống Nếu hệ thống bảo vệ bảo mật, cảnh báo phải thiết lập xuyên suốt V Lời gọi hệ thống Lời gọi hệ thống cung cấp giao diện trình hệ điều hành Các lời gọi thường sẳn dùng thị hợp ngữ chúng thường liệt kê tài liệu hướng dẫn sử dụng dùng người lập trình hợp ngữ Những hệ thống xác định cho phép lời gọi hệ thống thực trực tiếp từ chương trình ngơn ngữ cấp cao, lời gọi thường tương tự lời gọi hàm hay thủ tục định nghĩa trước Chúng tạo lời gọi tới chương trình thời điểm thực thi cụ thể Lời gọi hệ thống xảy nhiều cách khác nhau, phụ thuộc vào máy tính dùng Thường nhiều thơng tin yêu cầu đơn giản xác định lời gọi hệ thống mong muốn Loại xác lượng thông tin khác dựa vào hệ điều hành lời gọi cụ thể Thí dụ, để nhập liệu, cần xác định tập tin hay thiết bị dùng nguồn nhập, địa chiều dài vùng đệm nhớ mà liệu nhập đọc vào Dĩ nhiên, thiết bị hay tập tin chiều dài ẩn lời gọi Biên soạn: Th.s Nguyễn Phú Trường - 09/2005 Trang 24 Đại Học Cần Thơ - Khoa Công Nghệ Thông Tin - Giáo Trình Hệ Điều Hành – V1.0 Hình 0-1-Truyền tham số bảng Có ba phương pháp thơng dụng để truyền tham số tới hệ điều hành Phương pháp đơn giản truyền tham số ghi Trong vài trường hợp, tham số thường lưu trữ khối hay bảng nhớ địa khối truyền tham số ghi (Hình II.1) Các tham số thay thế, hay đẩy vào ngăn xếp chương trình, lấy khỏi ngăn xếp hệ điều hành Một vài hệ điều hành dùng phương pháp khối hay ngăn xếp phương pháp không giới hạn số lượng hay chiều dài tham số truyền VI Các chương trình hệ thống Một khía cạnh khác hệ thống đại tập hợp chương trình hệ thống Xem lại hình I.1, minh họa cấu trúc phân cấp máy tính luận lý Tại cấp thấp phần cứng Kế đến hệ điều hành, sau chương trình hệ thống cuối chương trình ứng dụng Các chương trình hệ thống cung cấp môi trường thuận lợi cho việc phát triển thực thi chương trình Vài chúng giao diện người dùng đơn giản cho lời gọi hệ thống; hệ thống lại xem xét phức tạp Chúng chia thành loại sau: o Quản lý tập tin: chương trình tạo, xóa, chép, đổi tên, in, kết xuất, liệt kê, thao tác tập tin thư mục thông thường o Thông tin trạng thái: vài chương trình đơn giản yêu cầu hệ thống ngày, giờ, lượng nhớ hay đĩa sẳn dùng, số lượng người dùng, hay thông tin trạng thái tương tự Sau đó, thơng tin định dạng in tới thiết bị đầu cuối hay thiết bị xuất khác tập tin o Thay đổi tập tin: nhiều trình soạn thảo văn sẳn dùng để tạo thay đổi nội dung tập tin lưu đĩa hay băng từ o Hỗ trợ ngơn ngữ lập trình: trình biên dịch, trình hợp ngữ trình thơng dịch cho ngơn ngữ lập trình thơng dụng (như C, C++, Java, Visual Basic PERL) thường cung cấp tới người dùng với hệ điều hành Hiện nay, vài chương trình cung cấp riêng có giá riêng Biên soạn: Th.s Nguyễn Phú Trường - 09/2005 Trang 25 Đại Học Cần Thơ - Khoa Công Nghệ Thông Tin - Giáo Trình Hệ Điều Hành – V1.0 o Nạp thực thi chương trình: chương trình tập hợp hay biên dịch, phải nạp vào nhớ để thực thi Hệ thống cung cấp nạp tuyệt đối, nạp tái định vị, soạn thảo liên kết nạp phủ lắp Các hệ thống gỡ rối cho ngôn ngữ cấp cao hay ngôn ngữ máy yêu cầu o Giao tiếp: chương trình cung cấp chế tạo nối kết ảo trình, người dùng, hệ thống máy tính khác Chúng cho phép người dùng gởi thông điệp tới hình người dùng khác, hiển thị trang web, gởi thư điện tử, đăng nhập từ xa hay để chuyển tập tin từ máy tính tới máy tính khác Nhiều hệ điều hành cung cấp với chương trình giải vấn đề giao tiếp thông thường hay thực thao tác phổ biến Những chương trình gồm trình duyệt Web, xử lý văn định dạng văn bản, hệ sở liệu, trình biên dịch, gói phần mềm đồ họa phân tích thống kê, trị chơi, Những chương trình gọi tiện ích hệ thống hay chương trình ứng dụng Hầu hết người dùng nhìn hệ điều hành chương trình hệ thống lời gọi hệ thống thực Nghĩ việc sử dụng PC Khi máy tính chạy hệ điều hành Microsoft Windows, thấy trình thơng dịch dịng lệnh MS-DOS hay giao diện cửa sổ trình đơn đồ họa Cả hai sử dụng tập lời gọi hệ thống lời gọi hệ thống trông khác hoạt động cách khác Do đó, tầm nhìn thực chất bị tách rời với cấu trúc hệ thống thực Vì thế, thiết kế giao diện tiện dụng thân thiện không chức trực tiếp hệ điều hành Trong giáo trình tập trung vấn đề việc cung cấp dịch vụ đầy đủ cho chương trình người dùng Từ quan điểm hệ điều hành, khơng phân biệt khác chương trình người dùng chương trình hệ thống VII Cấu trúc hệ thống Một hệ thống lớn phức tạp hệ điều hành đại phải xây dựng cẩn thận thực chức hợp lý hiệu chỉnh dễ dàng Một phương pháp thông thường chia tác vụ thành thành phần nhỏ có hệ thống nguyên khối Mỗi modules nên thành phần hoàn toàn xác định với nhập, xuất, chức định nghĩa cẩn thận Trong phần thảo luận cách thức mà thành phần nối kết trộn lẫn nhân VII.1 Cấu trúc đơn giản Hình 0-2-Cấu trúc phân tầng MS-DOS Biên soạn: Th.s Nguyễn Phú Trường - 09/2005 Trang 26 Đại Học Cần Thơ - Khoa Cơng Nghệ Thơng Tin - Giáo Trình Hệ Điều Hành – V1.0 Nhiều hệ thống thương mại khơng có kiến trúc rõ ràng Thường hệ điều hành bắt đầu hệ thống nhỏ, đơn giản có giới hạn Sau chúng lớn lên giới hạn mã ban đầu chúng MS-DOS thí dụ cho hệ thống dạng Ban đầu, thiết kế thực vài người mà họ không tưởng chúng trở nên phổ biến Nó viết để cung cấp khả nhiều khơng gian (vì bị giới hạn phần cứng mà chạy) khơng phân chia thành modules cách cẩn thận Hình II.2, hiển thị cấu trúc UNIX hệ điều hành khác mà ban đầu bị giới hạn chức phần cứng Nó chứa hai phần tách rời nhau: nhân chương trình hệ thống Nhân lại chia thành loạt giao diện trình điều khiển thiết bị mà chúng thêm vào mở rộng qua nhiều năm UNIX cải tiến Chúng ta hiển thị hệ điều hành UNIX truyền thống phân tầng hình II.3 Mọi thứ bên giao diện lời gọi hệ thống bên phần cứng vật lý nhân Nhân cung cấp hệ thống tập tin, định thời CPU, quản lý nhớ chức khác hệ điều hành thơng qua lời gọi hệ thống Có nhiều chức nối kết cấp thứ Điều làm cho UNIX khó nâng cấp thay đổi phần ảnh hưởng bất lợi cho phần khác Hình 0-3 – Cấu trúc hệ thống UNIX Lời gọi hệ thống định nghĩa giao diện lập trình ứng dụng (API-Application Programming Interface) cho UNIX; tập hợp chương trình hệ thống thường sẳn dùng định nghĩa giao diện người dùng Người lập trình giao diện người dùng định nghĩa ngữ cảnh mà nhân phải hỗ trợ Những ấn UNIX thiết kế để dùng phần cứng tiên tiến Được cung cấp hỗ trợ phần cứng hợp lý, hệ điều hành chia thành nhiều phần nhỏ phù hợp hệ thống MS-DOS UNIX ban đầu Sau đó, hệ điều hành giữ lại việc điều khiển lớn qua máy tính qua ứng dụng thực việc sử dụng máy tính Những người cài đặt thoải mái việc thực thay đổi hoạt động bên hệ thống việc tạo hệ điều hành theo module Dưới phương pháp từ trên-xuống (top-down), toàn chức đặc điểm xác định chia thành thành phần Sự phân chia cho phép người lập trình che giấu thơng tin; họ tự cài đặt thủ tục cấp thấp họ thấy thích hợp, cung cấp giao diện bên ngồi thủ tục khơng bị thay đổi thủ tục thực tác vụ thông thường Biên soạn: Th.s Nguyễn Phú Trường - 09/2005 Trang 27 Đại Học Cần Thơ - Khoa Công Nghệ Thơng Tin - Giáo Trình Hệ Điều Hành – V1.0 VII.2 Phương pháp phân tầng Việc phân chia phần hệ thống thực nhiều cách Một phương pháp thực tiếp cận phân tầng Trong tiếp cận hệ điều hành chia thành nhiều tầng (hay cấp), tầng xây dựng đỉnh tầng Tầng cuối (tầng 0) phần cứng; tầng cao (tầng N) giao diện người dùng Một tầng hệ điều hành cài đặt đối tượng trừu tượng Đối tượng trừu tượng bao gói liệu điều hành thao tác liệu Một tầng hệ điều hành điển hình –tầng M- mơ tả hình II.4 Nó chứa cấu trúc liệu tập hợp thủ tục gọi tầng cấp cao Sau đó, tầng M gọi thao tác tầng cấp thấp Hình 0-4-Một tầng hệ điều hành Lợi điểm chủ yếu tiếp cận phân tầng tính module Các tầng chọn dựa sở tầng sử dụng chức (hay điều hành) dịch vụ tầng cấp Tiếp cận đơn giản hóa việc gỡ rối kiểm tra hệ thống Tầng gỡ rối mà khơng có quan tâm cho phầ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 tầng gỡ rối, chức sửa lỗi đảm đương tầng thứ hai gỡ rối, …Nếu lỗi tìm thấy gỡ rối cho tầng xác định, lỗi phải nằm tầng tầng 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 tầng Mỗi tầng cài đặt với thao tác cung cấp tầng bên Một tầng không cần biết thao tác cài đặt nào; cần biết thao tác làm Do đó, tầng che giấu tồn cấu trúc liệu, thao tác phần cứng từ tầng cấp cao Khó khăn tiếp cận phân tầng liên quan tới việc định nghĩa cẩn thận tầng tầng sử dụng tầng bên Thí dụ, trình điều khiển thiết bị cho không gian đĩa dùng giải thuật nhớ ảo phải nằm cấp thấp trình điều khiển thiết bị thủ tục quản lý nhớ quản lý nhớ yêu cầu khả sử dụng không gian đĩa Các yê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, Biên soạn: Th.s Nguyễn Phú Trường - 09/2005 Trang 28 ... Systems) I.9 Hệ thời thực I .10 Hệ xách tay I .11 Tóm tắt CHƯƠNG II - CẤU TRÚC HỆ ĐIỀU HÀNH II .1 Mục đích II.2 Giới thiệu II.3 Các thành phần hệ thống II.4 Các dịch vụ hệ điều hành II.5 Lời gọi hệ thống... TIẾT CÁC CHƯƠNG CHƯƠNG I - TỔNG QUAN VỀ HỆ ĐIỀU HÀNH1 I .1 Mục tiêu I.2 Giới thiệu I.3 Hệ điều hành gì? I.4 Hệ thống mainframe I.5 Hệ để bàn (Desktop system) I.6 Hệ đa xử lý I.7 Hệ phân tán I.8 Hệ. .. định thành phần hệ điều hành thấy cách thức lý hệ điều hành phát triển chúng có Hệ điều hành kiến trúc máy tính có mối quan hệ khăng khít Để dễ dàng sử dụng phần cứng, hệ điều hành phát triển

Ngày đăng: 04/12/2015, 01:27

Từ khóa liên quan

Mục lục

  • ĐỀ CƯƠNG MÔN HỌC

    • I MỤC ĐÍCH YÊU CẦU

    • II KIẾN THỨC NỀN CẦN THIẾT

    • III KIẾN THỨC TOÁN CẦN THIẾT

    • IV TÓM TẮT NỘI DUNG MÔN HỌC

    • V ĐỀ CƯƠNG CHI TIẾT CÁC CHƯƠNG

    • VI TÀI LIỆU THAM KHẢO

      • VI.1.1 DUYỆT BỘ MÔN

      • TỔNG QUAN VỀ HỆ ĐIỀU HÀNH

        • I Mục tiêu

        • II Giới thiệu

        • III Hệ điều hành là gì?

          • III.1 Tầm nhìn người dùng

          • III.2 Tầm nhìn hệ thống

          • III.3 Mục tiêu hệ thống

          • IV Hệ thống mainframe

            • IV.1 Hệ thống bó

            • IV.2 Hệ đa chương

            • IV.3 Hệ chia thời

            • V Hệ để bàn (Desktop system)

            • VI Hệ đa xử lý

            • VII Hệ phân tán

              • VII.1 Hệ khách hàng-máy phục vụ

              • VII.2 Hệ ngang hàng

              • VIII Hệ thống nhóm (Clustered Systems)

              • IX Hệ thời thực

Tài liệu cùng người dùng

Tài liệu liên quan