1. Trang chủ
  2. » Luận Văn - Báo Cáo

TIỂU LUẬN HỆ ĐIỀU HÀNH

71 867 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

Nội dung

Nguyễn Xuân Hùng Hệ điều hành CHƢƠNG 1: TỔNG QUAN VỀ HỆ ĐIỀU HÀNH Cung cấp cho nhìn tổng quát nguyên lý hệ điều hành Chúng ta bắt đầu với việc xem xét mục tiêu chức hệ điều này, sau khảo sát dạng khác chúng xem xét trình phát triển qua giai đoạn Các phần trình bày thông qua nội dung sau: Khái niệm hệ điều hành Phân loại hệ điều hành Cấu trúc hệ điều hành Lịch sử phát triển hệ điều hành Bài học giúp hiểu hệ điều hành gì, có cấu trúc Hệ điều hành phân loại theo tiêu chuẩn Quá trình phát triển hệ điều hành phụ thuộc vào yếu tố Bài học đòi hỏi kiến thức : kiến trúc máy tính -I.KHÁI NIỆM VỀ HỆ ĐIỀU HÀNH Khái niệm OS phần mềm hoạt động lớp trung gian người sử dụng máy tính phần cứng Mục tiêu OS làm cho người sử dụng: - Thực thi dễ dàng ứng dụng - Thao tác điều khiển máy tính trở nên thuận tiện - Khai thác phần cứng máy tính cách có hiệu Hệ thống máy tính bao gốm thành phần: - Phần cứng (Hardware) – cung cấp tài nguyên CPU, memory, I/O devices - Hệ điều hành OS (Operating system) Trung gian điều khiển bố trí việc sử dụng phần cứng cho ứng dụng đối tượng sử dụng - Các chương trình ứng dụng (Application programs) – Các phần mềm phục vụ tác nghiệp người sử dụng Word processors, compilers, web browsers, database systems, video games - Đối tượng sử dụng (Users) Người, thiết bị máy tính khác Hệ điều hành Nguyễn Xuân Hùng Hình 1.1 Mô hình trừu tượng hệ thống máy tính Hệ điều hành coi phân phối tài nguyên máy tính Nhiều tài nguyên máy tính thời gian sử dụng CPU, vùng nhớ, vùng lưu trữ 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 soát việc sử dụng máy tính, đặc biệt thiết bị nhập xuất II.PHÂN LOẠI HỆ ĐIỀU HÀNH II.1 Hệ thống xử lý theo lô đơn chƣơng - Tại thời điểm xác định, chương trình đưa vào nhớ chiếm giữ tài nguyên hệ thống, chương trình khác đưa vào nhớ chưa kết thúc - Khi công việc chấm dứt, hệ thống thực công việc mà không cần can thiệp người lập trình Hệ điều hành theo lô thực công việc theo thị định trước II.2 Hệ thống xử lý theo lô đa chƣơng Multiprogramming có khả năng: - Một vài công việc lưu trữ nhớ môt thời điểm, CPU phục vụ công việc - Một user đơn lẻ không sử dụng CPU thiết bị I/O toàn thời gian - Các công việc tổ chức đa chương (code and data) CPU luôn thực thi - Một tập tất công việc lưu trữ nhớ - Một công việc chọn hoạt động theo jobscheduling - Khi công việc rơi vào trạng thái chờ (ví dụ chờ I/O), OS chuyển sang công việc khác II.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 - Hệ thống chia xẻ phát triển để cung cấp việc sử dụng bên máy tính có giá trị Hệ điều hành chia xẻ thời gian dùng lập lịch CPU đa chương để cung cấp cho người sử dụng phần nhỏ máy tính chia xẻ Một chương trình thi hành gọi tiến trình Trong trình thi hành 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 II.4 Hệ thống song song Ngoài hệ thống có xử lý 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 Có nhiều nguyên nhân xây dựng dạng hệ thống Với gia tăng số lượng xử lý, công việc thực nhanh chóng hơn, Nhưng theo tỉ lệ thời gian, nghĩa có n xử lý nghĩa thực nhanh n lần Hệ điều hành Nguyễn Xuân Hù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 toà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 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 soát toà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 Hệ thống đa xử lý không đồng thường xuất hệ thống lớn, hầu hết thời gian hoạt động dành cho xử lý nhập xuất II.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 xử lý thường tham khảo với nhiều tên khác site, node, computer v.v tùy thuộc vào trạng thái làm việc chúng 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 : Một người sử dụng A sử dụng máy in laser người sử dụng B người sử dụng B truy xuất tập tin A Tổng quát, 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 để thực thao tác: Tăng tốc độ tính toán : Một thao tác tính toán chia làm nhiều phần nhỏ thực lúc Hệ thống phân tán cho phép phân chia việc tính toán nhiều vị trí khác để tính toán song song An toà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 :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 II.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 - Phải hoàn thành công việc thời gian xác định cưỡng - Hệ thống Real-Time hard soft real-time Trái ngược với hệ thống time-sharing không hỗ trợ hệ điều hành đa - Luôn sử dụng thiết bị điều khiển ứng dụng chuyên biệt: Thí nghiệm khoa học, hệ mô y học, điều khiển công nghiệp, Robot - Sử dụng ứng dụng multimedia, thực ảo (virtual reality) đòi hỏi tính cao cấp hệ điều hành Hệ điều hành Nguyễn Xuân Hùng III CÁC TÍNH CHẤT CƠ BẢN CỦA HĐH III.1 Tin cậy Mọi hoạt động HĐH phải chuẩn xác tuyệt đối Thông tin HĐH đưa phải xác phải ngăn ngừa sai sót ngẫu nhiên, hạn chế sai sót cố ý - Ví dụ A:\> copy A:\f1.txt C: + Kiểm tra xem có tồn cạc đĩa không (control card) + Kiểm tra xem có tồn ổ đĩa A: + Kiểm tra xem có tồn đĩa A + Kiểm tra khả truy nhập đĩa từ + Kiểm tra có tồn tệp f1.txt + Kiểm tra có đọc tệp hay không + Lặp lại với C: HĐH phải có phương tiện kiểm tra tính đắn liệu thao tác III.2 An toàn Hệ thống cố gắng bảo vệ thông tin, cố gắng chống trường hợp truy nhập không hợp thức Chức bảo vệ thông tin chia thành nhiều mức: + Các mức hệ thống đảm nhiệm: Ví dụ hệ thống UNIX, muốn xoá hay sửa đổi nội dung tệp, người sử dụng phải có quyền xoá sửa file + Có mức người sử dụng đảm nhiệm: Lệnh DEL *.* MSDOS, hệ thống hỏi lại người sử dụng lần để tránh sai sót vô ý III.3 Khái quát theo thời gian HĐH phải có tính kế thừa từ hệ thống cũ HĐH phải có khả thích nghi với thay đổi tương lai III.4 Hiệu Các tài nguyên hệ thống phải khai thác tối ưu HĐH phải trì đồng độ toàn hệ thống III.5 Thuận tiện HĐH phải thân thiện với người sử dụng HĐH phải có nhiều hình thái giao tiếp: + Giao tiếp dạng dòng lệnh + Giao tiếp dạng thực đơn (Menu) + Giao tiếp dạng biểu tượng IV NGUYÊN LÍ XÂY DỰNG HĐH IV.1 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 liên kết module tạo thành module có khả giải vấn đề phức tạp IV.2 Phủ chức Một công việc thực nhiều cách khác - Ví dụ Muốn in tệp f1.txt + C:\> copy f1.txt prn + C:\> type f1.txt >prn + C:\> print f1.txt IV.3 Marco-processor Khi có công việc cụ thể, hệ thống xây dựng yêu cầu, liệt kê bước phải thực từ xây dựng chương trình tương ứng, sau thực chương trình nói - Ví dụ: Trong MSDOS ta có tệp config.sys autoexec.bat Hệ điều hành Nguyễn Xuân Hùng IV.4 Nguyên lý bảng tham số điều khiển Hệ thống không tham chiếu trực tiếp đến thiết bị, đối tượng vật lý mà làm việc với bảng tham số xác định đặc trưng thiết bị Bảng tham số hệ thống xây dựng trình làm việc - Ví dụ Bảng tham số máy tính PC lưu CMOS 64byte Lợi ích việc sử dụng bảng tham số + Truy nhập thực công việc nhanh với CPU + Không phụ thuộc vào thiết bị vật lý cụ thể - Ví dụ: Bên cạnh bảng tham số lưu CMOS có bảng tham số tệp config.sys autoexec.bat cho phép ta thay đổi giá trị biến môi trường MSDOS Files = Số_tệp_mở_tối_đa IV.5 Nguyên lý giá trị chuẩn HĐH chuẩn bị bảng giá trị tham số gọi bảng giá trị chuẩn Trong trường hợp module câu lệnh có nhiều tham số người sử dụng không nêu hết giá trị tham số HĐH phải lấy giá trị bảng giá trị chuẩn bổ xung vào tham số thiếu - Ví dụ: C:\>TP70>Dir + Đĩa nào? Thường trực: Đĩa C: + Thư mục nào? Thường trực: C:\Tp70 + Xem gì? Xem tất tệp + Đưa đâu? Đưa thiết bị chuẩn: Màn hình + Đưa nào? Đầy đủ thông tin - Tham số + Tham số vị trí: Xuất theo vị trí theo dòng tham số + Tham số khoá xây dựng theo từ khoá xuất vị trí bất kỳ, trình tự - Ví dụ C:\> format A: /q + Lệnh format đĩa + Tham số vị trí: Đĩa A + Tham số khoá: Format nhanh IV.6 Nguyên lý bảo vệ nhiều mức Chương trình liệu phải bảo vệ nhiều mức nhiều khoá - Ví dụ Linux + Mức 1: Người sử dụng phải có tài khoản sử dụng máy tính + Mức 2: Chỉ người sử dụng thuộc nhóm A truy nhập tệp chung nhóm A V CẤU TRÚC CỦA HỆ ĐIỀU HÀNH V.1 Các thành phần hệ điều hành a Quản trị tiến trình (Process Management) Một chương trình không thực không CPU thi hà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 để hoà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 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 : Hệ điều hành Nguyễn Xuân Hùng Tạo hủy tiến trình người sử dụng hệ thống Ngừng thực lại tiến trình Cung cấp chế đồng tiến trình Cung cấp cách thông tin tiến trình Cung cấp chế kiểm soát sung đột b Quản trị nhớ (Main Memory Management) Trong hệ thống máy tính nhớ trung tâm thao tác, xử lý Bộ nhớ xem mảng kiểu byte hay word gắn 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 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ớ 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 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 trị nhớ thứ cấp (Secondary Storage Management) Mục tiêu hệ thống máy tính thi hành chương trình Những chương trình với liệu truy xuất chúng phải đặt nhớ suốt trình thi hành Nhưng nhớ nhỏ để lưu giữ liệu chương trình, liệu không 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ý nhớ phụ : Quản lý vùng trống đĩa Định vị lưu trữ Lập lịch cho đĩa Vì hệ thống đĩa sử dụng thường xuyên, nên phải dùng hiệu quả.Tốc độ toàn hệ thống tuỳ thuộc nhiều vào tốc độ truy xuất đĩa d.Quản lý hệ thống nhập xuất I/O System Management) 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 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 cho thiết bị phần cứng Chỉ có device driver 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 (File Management) Hệ thống quản lý tập tin thành phần rõ ràng hệ điều hành 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 soát điều khiển đĩa (disk Hệ điều hành Nguyễn Xuân Hùng 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 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ố Tập tin thường có dạng tự do, tập tin văn bản, nhị phân (là tập tin chứa dãy bit) (Xem VIII) 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ụ Backup tập tin thiết bị lưu trữ 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 - Security - Sự phòng thủ hệ thống chống lại công từ bên từ Bao gồm nhiều hoạt động không phép như: dịch vụ không có, sâu, virus, đánh cắp nhận dạng, dịch vụ ăn trộm, - Hệ thống phân biệt đối tượng sử dụng phân quyền để xác định đối tượng làm Nhận dạng đối tượng sử dụng (user IDs, security IDs) bao gồm tên mật khẩu, user nhận dạng User ID để nhận biết quyền truy nhập điều khiển đối tượng sử dụng tệp tin tiến trình Nhận dạng nhóm đối tượng sử dụng (group ID) quyền truy nhập điều khiển tiến trình tệp Privilege escalation trạng thái đối tượng sử dụng thay đổi khả với nhiều quyền g Hệ thống thông dòng lệnh : Một phần quan trọng chương trình hệ thống hệ điều hành chế dòng 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 đ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 soá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ệ V.2 Các dịch vụ hệ điều hành Hệ điều hành cung cấp môi trường để thi hành chương trình, cách cung cấp dịch vụ cho chương trình cho người sử dụng Các dịch vụ hệ thống khác có lớp chung Các dịch vụ giúp cho lập trình viên thuận tiện việc lập trình dể dàng Hệ điều hành Nguyễn Xuân Hùng Thi hành chương trình : hệ thống phải có khả nạp chương trình vào nhớ thi hành Chương trình phải chấm dứt thi hành theo cách thông thường hay bất thường (có lỗi) Thao tác nhập xuất : Một chương trình thi hành yêu cầu nhập xuất Nhập xuất tập tin hay thiết bị chương trình ứng dụng thực thao tác I/O trực tiếp nên OS phải cung cấp vài phương thức để thi hành nhập/xuất Thao tác hệ thống tập tin: đọc ghi, xóa Thông tin : có nhiều tình tiến trình cần trao đổi thông tin với tiến trình khác Thông tin cài đặt qua chia xẻ nhớ, kỹ thuật chuyển thông điệp Việc chuyển thông tin thực hệ điều hành Phát lỗi : hệ điều hành phải có khả báo lỗi Lỗi xảy CPU, nhớ, thiết bị nhập xuất, … hay chương trình Đối với dạng lỗi, hệ điều hành có cách giải tương ứng V.3 Lời gọi hệ thống Lời gọi hệ thống cung cấp giao tiếp tiến trình hệ điều hành Lời gọi lệnh hợp ngữ Một số hệ thống cho phép lời gọi hệ thống thực từ cấp lập trình ngôn ngữ cấp cao, hàm lời gọi hàm Nó phát sinh lời gọi từ thủ tục hay gọi trực tiếp dòng Trong ngôn ngữ lập trình cấp cao, người sử dụng không cần quan tâm đến chi tiết mà cần thông qua hàm hay lệnh để thực hiện.Lời gọi hệ thống diễn theo cách khác Kiểu khối lượng thông tin tùy thuộc vào hệ thống lúc gọi Có ba phương pháp sử dụng để chuyển tham số cho hệ điều hành Cách đơn giản chuyển tham số vào ghi Nếu có nhiều tham số, lưu trữ khối bảng nhớ Cách cuối dùng chế stack Lời gọi hệ thống chia thành loại : kiểm soát tiến trình, thao tác tập tin, thao tác thiết bị, thông tin V.4 Cấu trúc hệ thống a.Cấu trúc đơn giản Cấu trúc số hệ thống thương mại cấu trúc định nghĩa tốt Thông thường hệ điều hành bắt đầu hệ thống nhỏ, đơn giản có giới hạn 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 Hình 1.2 Cấu trúc MS-DOS Hệ điều hành Nguyễn Xuân Hùng Mặc dù MS-DOS có cấu trúc giao diện chứ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 Một hệ điều hành có cấu trúc đơn giản UNIX với version Cấu trúc bao gồm hai phần : hạt nhân chương trình hệ thống Hạt nhân chia thành chuỗi giao tiếp device driver(bộ điều khiển thiết bị) Những lời gọi hệ thống phần cứng hạt nhân Hạt nhân cung cấp hệ thống tập tin, lập lịch CPU, quản trị nhớ chức hệ điều hành khác thông qua lời gọi hệ thống Tóm lại toàn chức hệ thống kết hợp lớp Những chương trình hệ thống dùng lời gọi hệ thống hỗ trợ hạt nhân để cung cấp chức hữu ích biên dịch thao tác tập tin Lời gọi hệ thống định nghĩa giao tiếp lập trình cho UNIX, tập hợp chương trình hệ thống thông thường có định nghĩa giao tiếp với người sử dụng b.Cấu trúc theo lớp Những version UNIX thiết kế để sử dụng phần cứng phức tạp hơn, hệ điều hành chia thành nhiều phần nhỏ 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 Mỗi lớp cài đặt sử dụng thao tác lớp cung cấp Một lớp không cần biết hệ điều hành cài đặt nào, cần biết thao tác làm 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ệ điều hành Nguyễn Xuân Hùng Lớp phần cứng, lớp cài đặt lập lịch CPU, lớp cài đặt quản lý nhớ Bộ nhớ nhớ ảo Lớp tiếp chứa device driver cho thao tác với hình Lớp kế tổ chức buffer cho việc nhập xuất thiết bị Cuối chương trình người sử dụng Hình 1.6 Cấu trúc lớp OS/2 c.Máy ảo Thông thường, hệ thống máy tính bao gồm nhiều lớp Phần cứng lớp thấp Hạt nhân lớp kế dùng thị phần cứng để tạo tập hợp lời gọi hệ thống Các chương trình hệ thống sử dụng lời gọi hệ thống thị phần cứng Vì xem phần cứng lời gọi hệ thống lớp Một số hệ thống có tổ chức cho chương trình ứng dụng gọi dễ dàng chương trình hệ thống Mặc dù chương trình hệ thống lớp cao phần khác chương trình ứng dụng xem phần phần máy Lớp ứng dụng sử dụng khái niệm máy ảo Ví dụ hệ điều hành máy ảo IBM 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ư 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 Ngoài máy ảo phải giải vấn đề vận chuyển liệu thời gian 10 Hệ điều hành Nguyễn Xuân Hùng CÀI ĐẶT HỆ THỐNG QUẢN LÝ TẬP TIN Người sử dụng quan tâm đến cách đặt tên tập tin, thao tác tập tin, thư mục Nhưng đối người cài đặt quan tâm đến tập tin thư mục lưu trữ nào, vùng nhớ đĩa quản lý cho toàn hệ thống làm việc hữu hiệu tin cậy Hệ thống tập tin cài đặt đĩa Để gia tăng hiệu việc truy xuất, đơn vị liệu truy xuất gọi khối Một khối liệu bao gồm nhiều sector Bộ phận tổ chức tập tin quản lý việc lưu trữ tập tin khối vật lý cách sử dụng bảng có cấu trúc Trong học tìm hiểu phương pháp tổ chức quản lý tập tin nhớ phụ thông qua nội dung sau: Bảng quản lý thư mục, tập tin Bảng phân phối vùng nhớ Tập tin chia sẻ Quản lý đĩa Độ an toàn hệ thống tập tin Bài học giúp nắm đặc điểm ưu khuyết điểm phương pháp tổ chức quản lý tập tin đĩa số vấn đề liên quan khác nhờ hiểu cách hệ điều hành cụ thể quản lý tập tin Bài học đòi hỏi kiến thức :mô hình tổ chức tập tin thư mục số cấu trúc liệu I BẢNG QUẢN LÝ THƢ MỤC, TẬP TIN I.1 Khái niệm Trước tập tin đọc, tập tin phải mở, để mở tập tin hệ thống phải biết đường dẫn người sử dụng cung cấp định vị cấu trúc đầu vào thư mục (directory entry) Directory entry cung cấp thông tin cần thiết để tìm kiếm khối Tuỳ thuộc vào hệ thống, thông tin địa đĩa toàn tập tin, số hiệu khối đầu tiên, số I-node II.2 Cài đặt Bảng thường cài đặt phần đầu đĩa Bảng dãy phần tử có kích thước xác định, phần tử gọi entry Mỗi entry lưu thông tin tên , thuộc tính, vị trí lưu trữ tập tin hay thư mục Ví dụ quản lý thư mục CP/M : MSDOS Tên tệp Mở rộng Thuộc tính Dự trữ Ngay, Địa đầu tệp Kích thước II BẢNG PHÂN PHỐI VÙNG NHỚ II.1 Khái niệm Bảng thường sử dụng phối hợp với bảng quản lý thư mục tập tin, mục tiêu cho biết vị trí khối vật lý tập tin hay thư mục nói khác lưu giữ dãy khối đĩa cấp phát cho tập tin lưu liệu hay thư mục Có số phương pháp cài đặt II.2 Các phƣơng pháp Định vị liên tiếp : 57 Hệ điều hành Nguyễn Xuân Hùng Lưu trữ tập tin dãy khối liên tiếp Phương pháp có ưu điểm : thứ nhất, dể dàng cài đặt Thứ hai, dể dàng thao tác toàn tập tin đọc từ đĩa thao tác đơn giản không cần định vị lại Phương pháp có khuyết điểm : không linh động trừ biết trước kích thước tối đa tập tin Sự phân mảnh đĩa, gây lãng phí lớn Định vị danh sách liên kết : Định vị danh sách liên kết Mọi khối cấp phát, không bị lãng phí trường hợp phân mảnh directory entry cần chứa địa khối Tuy nhiên khối liệu bị thu hẹp lại truy xuất ngẫu nhiên chậm Danh sách liên kết sử dụng index : Bảng mục danh sách liên kết 58 Hệ điều hành Nguyễn Xuân Hùng Tương tự hai thay dùng trỏ dùng bảng index Khi toàn khối chứa liệu Truy xuất ngẫu nhiên dễ dàng Kích thước tập tin mở rộng Hạn chế bị giới hạn kích thước nhớ I-nodes : Một I-node bao gồm hai phần Phần thứ thuộc tính tập tin Phần lưu trữ thông tin liên quan đến tập tin kiểu, người sở hữu, kích thước, v.v Phần thứ hai chứa địa khối liệu Phần chia làm hai phần nhỏ Phần nhỏ thứ bao gồm 10 phần tử, phần tử chứa địa khối liệu tập tin Phần tử thứ 11 chứa địa gián tiếp cấp (single indirect), chứa địa khối, khối chứa bảng từ 210 đến 232 phần tử mà phần tử chứa địa khối liệu Phần tử thứ 12 chứa địa gián tiếp cấp (double indirect), chứa địa bảng khối single indirect Phần tử thứ 13 chứa địa gián tiếp cấp (double indirect), chứa địa bảng khối double indirect Cách tổ chức tương đối linh động Phương pháp hiệu trường hợp sử dụng để quán lý hệ thống tập tin lớn Hệ điều hành sử dụng phương pháp Unix (Ví dụ : BSD Unix) Cấu trúc I-nodes IV QUẢN LÝ ĐĨA Tập tin lưu trữ đĩa, việc quản trị đĩa quan trọng việc cài đặt hệ thống tập tin Có hai phương pháp lưu trữ : chứa n byte liên tiếp, hai tập tin chia làm thành khối Cách thứ không hiệu truy xuất tập tin có kích thước lớn, hầu hết hệ thống tập tin dùng khối có kích thước cố định IV.1 Kích thƣớc khối Một vấn đề đặt kích thước khối phải Điều phụ thuộc vào tổ chức đĩa số sector, số track, số cylinder Nếu dùng cylinder cho khối cho tập tin theo tính toán lãng phí đến 97% dung lượng đĩa Nên thông thường tập tin thường lưu số khối Ví dụ đĩa có 32768 byte track, thời gian quay 16.67 msec, thời gian tìm kiếm trung bình 30 msec thời gian tính msec để đọc khối kích thước k byte : 59 Hệ điều hành Nguyễn Xuân Hùng 30 + 8.3 + (k/32768) x 16.67 Từ thống kê kích thước khối thích hợp phải < 2K Thông thường kích thưóc khối 512, 1K hay 2K IV.2 Lƣu khối trống Có hai phương pháp Một sử dụng danh sách liên kết khối đĩa Mỗi khối chứa số địa khối trống Ví dụ khối có kích thước K lưu trữ 511 địa 16 bit Một đĩa 20M cần khoảng 40 khối Hai là, sử dụng bitmap Một đĩa n khối ánh xạ thành n bit với giá trị trống, giá trị lưu liệu Như đĩa 20M cần 20K bit để lưu trữ nghĩa có khoảng khối Phương pháp thứ hai thường sử dụng Hai phương pháp lưu trữ khối trống V ĐỘ AN TOÀN CỦA HỆ THỐNG TẬP TIN Một hệ thống tập tin bị hỏng nguy hiểm máy tính bị hỏng hư hỏng thiết bị chi phí hệ thống tập tin ảnh hưởng đến phần mềm Hơn hệ thống tập tin chống lại hư hòng phần cứng gây ra, chúng phải cài đặt số chức để bảo vệ V.1 Quản lý khối bị hỏng Đĩa thường có khối bị hỏng trình sử dụng đặc biệt đĩa cứng khó kiểm tra hết tất Có hai giải pháp : phần mềm phần cứng Phần cứng dùng sector đĩa để lưu giữ danh sách khối bị hỏng Khi kiểm soát tực lần đầu tiên, đọc khối bị hỏng dùng khối thừa để lưu giữ Từ không cho truy cập khối hỏng Phần mềm hệ thống tập tin xây dựng tập tin chứa khối hỏng Kỹ thuật loại trừ chúng khỏi danh sách khối trống, không cấp phát cho tập tin V.2 Backup Mặc dù có chiến lưọc quản lý khối hỏng, công việc quan trọng phải backup tập tin thường xuyên Tập tin đĩa mềm backup cách chép lại toàn qua đĩa khác Dữ liệu đĩa cứng nhỏ backup băng từ 60 Hệ điều hành Nguyễn Xuân Hùng Đối với đĩa cứng lớn, việc backup thường tiến hành Một chiến lược dể cài đặt lãng phí đĩa chia đĩa cứng làm hai phần phần liệu phần backup Mỗi tối, liệu từ phần liệu chép sang phần backup Backup V.3 Tính không đổi hệ thống tập tin Một vấn đề độ an toàn tính không đổi Khi truy xuất tập tin, trình thực hiện, có xảy cố làm hệ thống ngừng hoạt động đột ngột, lúc hàng loạt thông tin chưa cập nhật lên đĩa Vì lân khởi động ,hệ thống thực việc kiểm tra hai phần khối tập tin Việc kiểm tra thực , phát lỗi tiến hành sữa chữa cho trường hợp cụ thể: Trạng thái hệ thống tập tin 61 Hệ điều hành Nguyễn Xuân Hùng CHƢƠNG V HỆ THỐNG QUẢN LÝ NHẬP/XUẤT Một chức hệ điều hành quản lý tất thiết bị nhập/xuất máy tính Hệ điều hành phải thị điều khiển thiết bị, kiểm soát ngắt lỗi Hệ điều hành phải cung cấp cách giao tiếp đơn giản tiện dụng thiết bị phần lại hệ thống giao tiếp phải độc lập với thiết bị Trong tìm hiểu hệ điều hành quản lý nhập/xuất với nội dung sau: Khái niệm hệ thống nhập/ xuất Phần cứng nhập / xuất Phần mềm nhập / xuất Qua học này, hiểu chế quản lý nhập/xuất hệ điều hành cách tổng quát Từ hiểu rõ trình nhập xuất diễn máy tính thông qua hệ điều hành Bài học giúp cho việc tìm hiểu chế tương tác hệ điều hành thiết bị nhập/xuất cụ thể(được đề cập học sau) dễ dàng Bài học đòi hỏi kiến thức : kiến trúc máy tính, chế ngắt máy tính I.KHÁI NIỆM VỀ HỆ THỐNG QUẢN LÝ NHẬP/XUẤT Hệ thống quản lý nhập/xuất tổ chức theo lớp, lớp có chức định lớp có giao tiếp với sơ đồ sau : CÁC LỚP CHỨC NĂNG NHẬP/XUẤT Xử lý người dùng Tạo lời gọi nhập/xuất, định dạng nhập/xuất Phần mềm độc lập thiết bị Đặt tên, bảo vệ, tổ chức khối, đệm, định vị Điều khiển thiết bị Thiết lập ghi thiết bị, kiểm tra trạng thái Kiểm soát ngắt Báo cho driver nhập/xuất hoàn tất Phần cứng Thực thao tác nhập/xuất Ví dụ: Trong chương trình ứng dụng, người dùng muốn đọc khối từ tập tin, hệ điều hành kích hoạt để thực yêu cầu Phần mềm độc lập thiết bị tìm kiếm cache, khối cần đọc sẵn, gọi chương trình điều khiển thiết bị gửi yêu cầu đến phần cứng Tiến trình bị ngưng lại thao tác đĩa hoàn tất Khi thao tác hoàn tất, phần cứng phát sinh ngắt Bộ phận kiểm soát ngắt kiểm tra biến cố này, ghi nhận trạng thái thiết bị đánh thức tiến trình bị ngưng để chấm dứt yêu cầu I/O cho tiến trình người sử dụng tiếp tục thực hiện.[TAN] II PHẦN CỨNG NHẬP/XUẤT Có nhiều cách nhìn khác phần cứng nhập/xuất Các kỹ sư điện tử nhìn góc độ thiết bị IC, dây dẫn, nguồn, motor v.v….Các lập trình viên nhìn chúng góc độ phần mềm - lệnh thiết bị chấp nhận, chúng thực chức nào, thông báo lỗi chúng bao gồm gì, nghĩa quan tâm đến lập trình thiết bị thiết bị hoạt động khía cạnh có liên quan mật thiết với thao tác bên chúng Phần đề cập đến số khái niệm phần cứng I/O liên quan đến khía cạnh lập trình II.1 Thiết bị I/O Các thiết bị nhập xuầt chia tương đối thành hai loại thiết bị khối thiết bị Thiết bị khối thiết bị mà thông tin lưu trữ khối có kích thước cố định định vị địa Kích thước thông thường khối khoảng từ 128 bytes đến 1024 bytes Đặc điểm thiết bị khối chúng truy xuất (đọc ghi) khối riêng biệt, chương trình truy xuất khối Đĩa ví dụ cho loại thiết bị khối 62 Hệ điều hành Nguyễn Xuân Hùng Một dạng thiết bị thứ hai thiết bị Ở dạng thiết bị này, việc gửi nhận thông tin dựa chuỗi bits, xác định địa thực thao tác seek Màn hình, bàn phím, máy in, card mạng, chuột, loại thiết bị khác dạng đĩa thiết bị Việc phân chia lớp không hoàn toàn tối ưu, số thiết bị không phù hợp với hai lớp trên, ví dụ : đồng hồ, nhớ hình v.v không thực theo chế bits Ngoài ra, người ta phân loại thiết bị I/O tiêu chuẩn khác : Thiết bị tương tác với người : dùng để giao tiếp người máy Ví dụ : hình, bàn phím, chuột, máy in Thiết bị tương tác hệ thống máy tính thiết bị giao tiếp với Ví dụ : đĩa, băng từ, card giao tiếp Thiết bị truyền thồng : modem Những điểm khác thiết bị I/O gồm : Tốc độ truyền liệu , ví dụ bàn phím : 0.01 KB/s, chuột 0.02 KB/s Công dụng Đơn vị truyền liệu (khối ký tự) Biểu diễn liệu, điều tùy thuộc vào thiết bị cụ thể Tình trạng lỗi : nguyên nhân gây lỗi, cách mà chúng báo II.2 Tổ chức chức I/O Có ba cách để thực I/O : Một là, xử lý phát sinh lệnh I/O đến đơn vị I/O, sau đó, chờ trạng thái "busy" thao tác hoàn tất trước tiếp tục xử lý Hai là, xử lý phát sinh lệnh I/O đến đơn vị I/O, sau đó, tiếp tục việc xử lý nhận ngắt từ đơn vị I/O báo hoàn tất, tạm ngưng việc xử lý để chuyển qua xử lý ngắt Ba là, sử dụng chế DMA (như đề cập sau) Các bước tiến hóa chức I/O : Bộ xử lý kiểm soát trực tiếp thiết bị ngoại vi Hệ thống có thêm điều khiển thiết bị Bộ xử lý sử dụng cách thực nhập xuất thứ Theo cách xử lý tách rời khỏi mô tả chi tiết thiết bị ngoại vi Bộ xử lý sử dụng thêm chế ngắt Sử dụng chế DMA, xử lý truy xuất liệu I/O trực tiếp nhớ II.3 Bộ điều khiển thiết bị Một đơn vị bị nhập xuất thường chia làm hai thành phần thành phần thành phần điện tử Thành phần điện tử gọi phận điều khiển thiết bị hay tương thích, máy vi tính thường gọi card giao tiếp Thành phần thân thiết bị Một phận điều khiển thường có phận kết nối chúng để gắn thiết bị lên Một phận điều khiển quản lý hai, bốn hay chí tám thiết bị khác Nếu giao tiếp thiết bị phận điều khiển chuẩn ANSI, IEEE hay ISO nhà sản xuất thiết bị điều khiển phải tuân theo chuẩn đó, ví dụ : điều khiển đĩa theo chuẩn giao tiếp IBM Giao tiếp điều khiển thiết bị giao tiếp mức thấp 63 Hệ điều hành Nguyễn Xuân Hùng Chức điều khiển giao tiếp với hệ điều hành hệ điều hành truy xuất trực tiếp với thiết bị Việc thông tin thông qua hệ thống đường truyền gọi bus Công việc điều khiển chuyển đổi dãy bit khối byte thực sửa chửa cần thiết Thông thường khối byte tổ chức thành bit đặt buffer điều khiển Sau thực checksum nội dung buffer chuyển vào nhớ Ví dụ : điều khiển cho hình đọc byte ký tự để hiển thị nhớ tổ chức tín hiệu để điều khiển tia CRT để xuất ảnh cách quét tia dọc ngang Nếu điều khiển, lập trình viên hệ điều hành phải tạo thêm chương trình điều khiển tín hiệu analog cho đèn hình Với điều khiển , hệ điều hành cần khởi động chúng với số tham số số ký tự dòng, số dòng hình điều khiển thực điều khiển tia Mỗi điều khiển có số ghi để liên lạc với CPU Trên số máy tính, ghi phần nhớ địa xác định gọi ánh xạ nhớ nhập xuất Hệ máy PC dành vùng địa đặc biệt gọi địa nhập xuất chia làm nhiều đoạn, đoạn cho loại thiết bị sau : Bộ điều khiển Địa nhập/xuất Vectơ ngắt nhập/xuất Đồng hồ 040 - 043 Bàn phím 060 - 063 RS232 phụ 2F8 - 2FF 11 Đĩa cứng 320 - 32F 13 Máy in 378 - 37F 15 Màn hình mono 380 - 3BF Màn hình màu 3D0 - 3DF Đĩa mềm 3F0 - 3F7 14 RS232 3F8 - 3FF 12 Hệ điều hành thực nhập xuất cách ghi lệnh lên ghi điều khiển Ví dụ : điều khiển đĩa mềm IBMPC chấp nhận 15 lệnh khác : READ, WRITE, SEEK, FORMAT, RECALIBRATE, số lệnh có tham số tham số nạp vào ghi Khi lệnh chấp nhận, CPU rời điều khiển để thực công việc khác Sau thực xong, điều khiển phát sinh ngắt để báo hiệu cho CPU biết đến lấy kết lưu giữ ghi II.4 DMA (Direct Memory Access) Đa số loại thiết bị, đặc biệt thiết bị dạng khối, hỗ trợ chế DMA (direct memory access) Để hiểu chế này, trước hết phải xem xét trình đọc đĩa mà DMA Trước tiên, điều khiển đọc khối đĩa, bit bit toàn khối đưa vào buffer điều khiển Sau máy tính thực checksum để đảm bảo lỗi xảy Tiếp theo điều khiển tạo ngắt để báo cho CPU biết CPU đến lấy liệu buffer chuyển nhớ 64 Hệ điều hành Nguyễn Xuân Hùng cách tạo vòng lặp đọc byte Thao tác làm lãng phí thời gian CPU Do để tối ưu, người ta đưa chế DMA Cơ chế DMA giúp cho CPU không bị lãng phí thời gian Khi sử dụng, CPU gửi cho điều khiển số thông số địa đĩa khối, địa nhớ nơi định vị khối, số lượng byte liệu để chuyển Sau điều khiển đọc toàn liệu từ thiết bị vào buffer kiểm tra checksum Bộ điều khiển chuyển byte vào nhớ địa mô tả địa nhớ DMA Sau tăng địa DMA giảm số bytes phải chuyển Quá trình lập số bytes phải chuyển 0, điều khiển tạo ngắt Như không cần phải copy khối vào nhớ, hữu nhớ III PHẦN MỀM NHẬP/XUẤT Mục tiêu chung thiết bị logic dể biểu diễn Thiết bị logic tổ chức thành nhiều lớp Lớp giao tiếp với phần cứng, lớp giao tiếp tốt, thân thiện với người sử dụng Khái niệm then chốt thiết bị logic độc lập thiết bị, ví dụ : viết chương trình truy xuất file đĩa mềm hay đĩa cứng mà không cần phải mô tả lại chương trình cho loại thiết bị Ngoài ra, thiết bị logic phải có khả kiểm soát lỗi Thiết bị logic tổ chức thành bốn lớp : Kiểm soát lỗi, điều khiển thiết bị, phần mềm hệ điều hành độc lập thiết bị, phần mềm mức người sử dụng III.1 Kiểm soát ngắt Ngắt tượng phức tạp Nó phải cần che dấu sâu hệ điều hành, phần hệ thống biết chúng Cách tốt để che dấu chúng hệ điều hành có tiến trình thực thao tác nhập xuất hoàn tất tạo ngắt Tiến trình tự khóa lại cách thực lệnh WAIT theo biến điều kiện RECEIVE theo thông điệp Khi ngắt xảy ra, hàm xử lý ngắt khởi tạo tiến trình để xử lý ngắt Nó thực tín hiệu biến điều kiện gửi thông điệp đến cho tiến trình bị khóa Tổng quát, chức ngắt làm cho tiến trình bị khóa thi hành trở lại III.2 Điều khiển thiết bị (device drivers) Tất đoạn mã độc lập thiết bị chuyển đến device drivers Mỗi device drivers kiểm soát loại thiết bị, có tập hợp thiết bị liên quan mật thiết với Device drivers phát thị kiểm tra xem thị có thực xác không Ví dụ, driver đĩa phần hệ điều hành kiểm soát điều khiển đĩa Nó quản lý sectors, tracks, cylinders, head, chuyển động, interleave, thành phần khác giúp cho thao tác đĩa thực tốt Chức device drivers nhận yêu cầu trừu tượng từ phần mềm nhập/xuất độc lập thiết bị lớp trên, giám sát yêu cầu thực Nếu driver rảnh, thực yêu cầu, ngược lại, yêu cầu đưa vào hàng đợi 65 Hệ điều hành Nguyễn Xuân Hùng Ví dụ, bước yêu cầu nhập/xuất đĩa chuyển từ trừu tượng thành cụ thể Driver đĩa phải biết khối cần đọc, kiểm tra hoạt động motor đĩa, xác định vị trí đầu đọc chưa v.v… Nghĩa device drivers phải xác định thao tác điều khiển phải thi hành theo trình tự Một xác định thị cho điều khiển, bắt đầu thực cách chuyển lệnh vào ghi điều khiển thiết bị Bộ điều khiển nhận hay nhiều thị liên tiếp sau tự thực không cần trợ giúp hệ điều hành Trong lệnh thực Có hai trường hợp xảy : Một device drivers phải chờ điều khiển thực xong cách tự khóa lại ngắt phát sinh mở khóa cho Hai là, hệ điều hành chấm dứt mà không chờ, driver không cần thiết phải khóa Sau hệ điều hành hoàn tất việc kiểm tra lỗi thứ ổn driver chuyển liệu cho phần mềm độc lập thiết bị Cuối trả thông tin trạng thái hay lỗi cho nơi gọi có yêu cầu khác hàng đợi, thực tiếp, không khóa lại chờ đến yêu cầu III.3 Phần mềm nhập/xuất độc lập thiết bị Mặc dù số phần mềm nhập/xuất mô tả thiết bị phần lớn chúng độc lập với thiết bị Ranh giới xác drivers phần mềm độc lập thiết bị độc lập mặt hệ thống, số hàm mà thi hành theo kiểu độc lập thiết bị thi hành drivers lý hiệu hay lý dó khác Giao tiếp đồng cho device drivers Đặt tên thiết bị Bảo vệ thiết bị Cung cấp khối độc lập thiết bị Tổ chức buffer Định vị lưu trữ thiết bị khối Cấp phát giải phóng thiết bị tận hiến Báo lỗi Chức phần mềm nhập/xuất độc lập thiết bị chức chung cho tất thiết bị cung cấp giao tiếp đồng cho phần mềm phạm vi người sử dụng Trước tiên phải có chức tạo ánh xạ thiết bị tên hình thức Ví dụ UNIX, tên /dev/tty0 dành riêng để mô tả I-node cho file đặc biệt, I-node chứa chứa số thiết bị chính, dùng để xác định driver thích hợp số thiết bị phụ, dùng để xác định tham số cho driver biết đọc hay ghi Thứ hai bảo vệ thiết bị, cho phép hay không cho phép người sử dụng truy xuất thiết bị Các hệ điều hành có hay chức Thứ ba cung cấp khối liệu độc lập thiết bị ví dụ đĩa khác có kích thước sector khác điều gây khó khăn cho phần mềm người sử dụng lớp Chức cung cấp khối liệu logic độc lập với kích thước sector vật lý Thứ tư cung cấp buffer để hỗ trợ cho đồng hóa trình hoạt động hệ thống Ví dụ buffer cho bàn phím Thứ năm định vị lưu trữ thiết bị khối Thứ sáu cấp phát giải phóng thiết bị tận hiến Cuối thông báo lỗi cho lớp bên từ lỗi device driver báo III.4 Phần mềm nhập/xuất phạm vi ngƣời sử dụng Hầu hết phần mềm nhập/xuất bên hệ điều hành phần nhỏ chúng chứa thư viện liên kết với chương trình người sử dụng chương trình thi hành bên hạt nhân 66 Hệ điều hành Nguyễn Xuân Hùng Lời gọi hệ thống, bao gồm lời gọi hệ thống nhập/xuất thường thực hàm thư viện Ví dụ chương trình C có lệnh count = write(fd, buffer, nbytes) ; Hàm thư viện write địch liên kết dạng nhị phân nằm nhớ thi hành Tập hợp tất hàm thư viện rõ ràng phần hệ thống nhập/xuất Không phải tất phần mềm nhập/xuất chứa hàm thư viện, có loại quan trọng khác gọi hệ thống spooling dùng để khai thác tối đa thiết bị nhập/xuất hệ thống đa chương Các hàm thư viện chuyển tham số thích hợp cho lời gọi hệ thống hàm thư viện thực việc định dạng cho nhập xuất lệnh printf C Thư viện nhập/xuất chuẩn chứa số hàm có chức nhập/xuất tất chạy chương trình người dùng Chức spooling tránh trường hợp tiến trình truy xuất thiết bị, chiếm giữ thiết bị sau không làm khoảng thời gian tiến trình khác bị ảnh hưởng truy xuất thiết bị Một ví dụ spooling device line printer Spooling sử dụng hệ thống mạng hệ thống e-mail chẳng hạn IV TÓM TẮT I/O phần quan trọng thiếu hệ điều hành, thường không quan tâm mức Trong này, khảo sát phần cứng I/O, mối liên hệ thiết bị I/O với kiểm soát thiết bị Sau khảo sát bốn cấp phần mềm I/O : thủ tục ngắt, điều khiển thiết bị, phần mềm độc lập thiết bị thư viện I/O môi trường người dùng Điều khiển thiết bị quản lý tất mô tả chi tiết nhiểu thiết bị Phần mềm độc lập thiết bị xây dựng vùng đệm định vị, việc chung cho nhiều thiết bị 67 Hệ điều hành Nguyễn Xuân Hùng CHƢƠNG VI BẢO VỆ VÀ AN TOÀN HỆ THỐNG An toàn bảo vệ hệ thống chức thiếu hệ điều hành đại Chương tìm hiểu khái niệm tổ chức an toàn hệ thống, chế bảo vệ hỗ trợ việc triển khai chiến lược I MỤC TIÊU BẢO VỆ HỆ THỐNG (PROTECTION) Mục tiêu việc bảo vệ hệ thống là: Bảo vệ chống lỗi tiến trình : có nhiều tiến trình hoạt động, lỗi tiến trình j phải ngăn chặn không cho lan truyền hệ thống làm ảnh hưởng đến tiến trình khác Đặc biệt , qua việc phát lỗi tiềm ẩn thành phần hệ thống tăng cường độ tin cậy hệ thống ( reliability) Chống truy xuất bất hợp lệ : Bảo đảm phận tiến trình sử dụng tài nguyên theo cách thức hợp lệ qui định cho việc khai thác tài nguyên Vai trò phận bảo vệ hệ thống cung cấp chế để áp dụng chiến lược quản trị việc sử dụng tài nguyên Cần phân biệt khái niệm chế chiến lược: Cơ chế : xác định làm để thực việc bảo vệ, có chế phần mềm chế phần cứng Chiến lược: định việc bảo vệ áp dụng : đối tượng hệ thống cần bảo vệ, thao tác thích hợp đối tượng Để hệ thống có tính tương thích cao , cần phân tách chế chiến lược sử dụng hệ thống Các chiến lược sử dụng tài nguyên khác tùy theo ứng dụng, thường dễ thay đổi Thông thường chiến lược lập trình viên vận dụng vào ứng dụng để chống lỗi truy xuất bất hợp lệ đến tài nguyên, hệ thống cung cấp chế giúp người sử dụng thực chiến lược bảo vệ II MIỀN BẢO VỆ (DOMAIN OF PROTECTION ) II.1 Khái niệm Một hệ thống máy tính xem tập đối tượng (objects) Một đối tượng phận phần cứng ( CPU, nhớ, ổ đĩa ) hay thực thể phần mềm ( tập tin, chương trình, semaphore ) Mỗi đối tượng có định danh để phân biệt với đối tượng khác hệ thống, truy xuất đến thông qua thao tác định nghĩa chặt chẽ qui định ngữ nghĩa rõ ràng Các thao tác thực đối tượng xác định cụ thể tùy vào đối tượng Để kiểm soát tình hình sử dụng tài nguyên hệ thống, hệ điều hành cho phép tiến trình truy xuất đến tài nguyên mà có quyền sử dụng, tiến trình truy xuất đến tài nguyên cần thiết thời điểm để hoàn thành tác vụ (nguyên lý need-toknow) nhăm hạn chế lỗi truy xuất mà tiến trình gây hệ thống Mỗi tiến trình hệ thống hoạt động miền bảo vệ (protection domain) Một miền bảo vệ xác định tài nguyên ( đối tượng) mà tiến trình hoạt động miền bảo vệ sử dụng, thao tác hợp lệ tiến trình thực tài nguyên Ví dụ : II.2 Cấu trúc miền bảo vệ Các khả thao tác đối tượng gọi quyền truy xuất (access right) Một miền bảo vệ tập quyền truy xuất, quyền truy xuất định nghĩa hai thứ tự Các miền bảo vệ khác giao số quyền truy xuất : 68 Hệ điều hành Nguyễn Xuân Hùng Hình vẽ 5.1 Hệ thống với miền bảo vệ Mối liên kết tiến trình miền bảo vệ tĩnh hay động : Liên kết tĩnh : suốt thời gian sống tiến trình, tiến trình hoạt động miền bảo vệ Trong trường hợp tiến trình trải qua giai đoạn xử lý khác nhau, giai đoạn tiến trình thao tác tập tài nguyên khác thao tác khác Tuy nhiên, sử dụng liên kết tĩnh, rõ ràng từ đầu miền bảo vệ phải đặc tả tất quyền truy xuất qua giai đoạn cho tiến trình , điều khiến cho tiến trình có dư quyền giai đoạn đó, vi phạm nguyên lý need-to-know Để tôn trọng nguyên lý này, cần phải có khả cập nhật nội dung miền bảo vệ để phản ánh quyền tối thiểu tiến trình miền bảo vệ thời điểm! Liên kết động : chế cho phép tiến trình chuyển từ miền bảo vệ sang miền bảo vệ khác suốt thời gian sống Để tiếp tục tuân theo nguyên lý need-to-know, thay sửa đổi nội dung miền bảo vệ, tạo miền bảo vệ với nội dung thay đổi qua giai đoạn xử lý tiến trình, chuyển tiến trình sang hoạt động miền bảo vệ phù hợp theo thời điểm Một miền bảo vệ xây dựng cho: Một người sử dụng : trường hợp này, tập đối tượng phép truy xuất phụ thuộc vào định danh người sử dụng, miền bảo vệ chuyển thay đổi người sử dụng Một tiến trình : trường hợp này, tập đối tượng phép truy xuất phụ thuộc vào định danh tiến trình, miền bảo vệ chuyển quyền điều khiển chuyển sang tiến trình khác Một thủ tục : trường hợp này, tập đối tượng phép truy xuất biến cục định nghĩa bên thủ tục, miền bảo vệ chuyển thủ tục gọi III AN TOÀN HỆ THỐNG (SECURITY) Bảo vệ hệ thống (protection) chế kiểm soát việc sử dụng tài nguyên tiến trình hay người sử dụng để đối phó với tình lỗi phát sinh từ hệ thống Trong khái niệm an toàn hệ thống (security) muốn đề cập đến mức độ tin cậy mà hệ thống trì phải đối phó với vấn đề nội bộ, mà với tác hại đến từ môi trường IV.1 Các vấn đề an toàn hệ thống Hệ thống gọi an toàn tài nguyên sử dụng quy ước hoàn cảnh Kém may mắm điều đạt thực tế ! Thông thường, an toàn bị vi phạm nguyên nhân vô tình hay cố ý phá hoại Việc chống đỡ phá hoại cố ý khó khăn gần đạt hiệu hoàn toàn Bảo đảm an toàn hệ thống cấp cao chống lại tác hại từ môi trường hoả hoạn, điện, phái hoại cần thực mức độ vật lý (trang bị thiết bị an toàn cho vị trí đạt hệ thống ) nhân (chọn lọc cẩn thận nhân viên làm việc hệ thống ) Nếu an toàn môi trường bảo đảm tốt, an toàn hệ thống trì tốt nhờ chế hệ điều hành (với trợ giúp phần cứng) Lưu ý bảo vệ hệ thống đạt độ tin cậy 100%, chế an toàn hệ thống cung cấp với hy vọng ngăn chặn bớt tình bất an đạt đến độ an toàn tuyệt đối IV.2 Kiểm định danh tính (Authentication) Để đảm bảo an toàn, hệ điều hành cần giải tốt vấn đề chủ yếu kiểm định danh tính (authentication) Hoạt động hệ thống bảo vệ phụ thuộc vào khả xác định tiến trình 69 Hệ điều hành Nguyễn Xuân Hùng xử lý Khả này, đến lượt nó, lại phụ thuộc vào việc xác định người dùng sử dụng hệ thống để kiểm tra người dùng cho phép thao tác tài nguyên Cách tiếp cận phổ biến để giải vấn đề sử dụng password để kiểm định danh tính người dùng Mỗi người dùng muốn sử dụng tài nguyên, hệ thống kiểm tra password người dùng nhập vào với password lưu trữ, đúng, người dùng cho phép sử dụng tài nguyên Password đuợc để bảo vệ đối tượng hệ thống, chí đối tượng có password khác ứng với quyền truy xuất khác Cơ chế password dễ hiểu dễ sử dụng sử dụng rộng rãi, nhiên yếu điểm nghiêm trọng phương pháp khả bảo mật password khó đạt hoàn hảo, tác nhân tiêu cực đoán password người khác nhờ nhiều cách thức khác IV.3 Mối đe dọa từ chƣơng trình Trong môi trường mà chương trình tạo lập người lại người khác sử dụng, xảy tình sử dụng không đúng, từ dẫn đến hậu qủa khó lường Hai trường hợp điển hình : IV.3.1 Ngựa thành Troy Khi người dùng A cho chương trình B viết hoạt động danh nghĩa ( miền bảo vệ gán tương ứng cho người dùng A), chương trình trở thành « ngựa thành Troy » đoạn lệnh chương trình thao tác tài nguyên với quyền tương ứng người A (mà người B vốn bị cấm!), nhiều chương trình « lợi dụng hoàn cảnh » để gây tác hại đáng tiếc IV.3.2 Cánh cửa nhỏ ( Trap-door) Một mối đe dọa đặc biệt nguy hiểm khó chống đỡ đến từ vô tình hay ý nghĩ bất lập trình viên Khi xây dựng chương trình, lập trình viên để lại « cánh cửa nhỏ » phần mềm mà có họ có khả sử dụng , qua thâm nhập phá hoại hệ thống ( ví dụ làm tròn số lẻ tài khoản, thu lợi riêng từ phần dư ) Vấn đề khó đối phó cần phải tiến hành phân tích chương trình nguồn để tìm chỗ sơ hở IV.4 Mối đe dọa từ hệ thống Hầu hết hệ điều hành cung cấp phương tiện cho phép tiến trình hoạt động tạo (spawn) tiến trình khác Trong môi trường thế, tài nguyên hệ thống tập tin người dùng bị sử dụng sai lạc để gây tác hại Hai phương pháp phổ biến để phá hoại hệ thống theo phương thức : IV.4.1 Các chương trình « sâu bọ » ( Worm) Một chương trình « sâu bọ » chương trình lợi dụng chế phát sinh tiến trình hệ thống để đánh bại hệ thống Tiến trình « sâu bo »ï có khả tự động phát sinh phiên môi trường mạng, lan tràn nhiều máy tính khác nhau, sau chiếm dụng tài nguyên hệ thống làm ngừng trệ hoàn toàn hoạt động tiến trình khác hệ thống mạng Ví dụ : chương trình Robert Tappan Morris, 11/1988 lan truyền Internet IV.4.2 Các chương trình Virus Virus dạng phá hoại nguy hiểm khác hệ thống thông tin Khác với « sâu bọ » chương trình hoàn chỉnh, virus đoạn code có khả lây truyền vào chương trình thống khác từ tàn phá hệ thống Virus thường hoành hành máy đơn, chủ yếu lây truyền máy qua việc trao đổi đĩa mềm IV.5 Giám sát mối đe doạ Nhìn chung việc bảo đảm an toàn hệ thống khó có yếu tố người Hệ điều hành áp dụng số kỹ thuật để giảm bớt khả bị phá hoại ghi nhận kiện : cố gắng nhập nhiều lần password sai sử dụng password dễ đoán tiến trình với định danh nghi ngờ không ủy quyền 70 Hệ điều hành Nguyễn Xuân Hùng tiến trình không ủy quyền thư mục hệ thống chương trình kéo dài xử lý cách đáng ngờ bảo vệ tập tin thư mục không hợp lý thay đổi kích thước chương trình hệ thống Việc kiểm tra thường kỳ ghi nhận thông tin giúp hệ thống phát kịp thời nguy cơ, cho phép phân tích , dự đoán cách đối phó sau V TÓM TắT Các đối tượng hệ thống ( phần cứng CPU, nhớ ; hay phần mềm tập tin, chương trình) cần phải bảo vệ khỏi sử dụng sai trái Điều thực cách đặt đối tượng vào miền bảo vệ thích hợp với quyền truy xuất định nghĩa Quyền truy xuất đối tượng thao tác đượcphép thực đối tượng Miền bảo vệ tập quyền truy xuất số đối tượng Mỗi tiến trình hoạt động miền bảo vệ thời điểm Ma trận quyền truy xuất mô hình tổng quát cho toán bảo vệ hệ thống Ma trận cài đặt mảng, danh sách quyền truy xuất danh sách tiềm Mô hình bảo vệ động cho phép tiến trình chuyển đổi miền bảo vệ thời gian xử lý Có thể tổ chức mô hình bảo vệ động xem miền bảo vệ thân ma trận quyền truy xuất đối tượng hệ thống An toàn hệ thống không quan tâm đến nguy nội hệ thống, mà phải đối phó với nguy từ môi trường Vấn đề quan trọng an toàn hệ thống kiểm định danh tính người dùng để xác định quyền tương ứng họ Phương pháp thông dụng để làm điều kiểm tra password Ngoài hệ thống phải đối phó vớ tác hại công cố ý từ phía chương trình « sâu bọ », virus, loại khe hở chương trình Nhìn chung đạt mức độ an toàn hệ thống 100%, áp dụng biện pháp để hạn chế tối đa nguy phá hoại hệ thống 71 [...]... phát triển mạnh của các hệ điều hành tựa Unix trên nhiều hệ máy khác nhau như Linux Ngoài ra, từ đầu thập niên 90 cũng đánh dấu sự phát triển của hệ điều hành mạng, hệ điều hành phân tán Câu hỏi củng cố bài học 1 Hệ điều hành là gì? 2 Có mấy loại hệ điều hành ? Việc phân loại này dựa trên những tiêu chuẩn nào ? 3 Nêu các thành phần chính của hệ điều hành và chức năng của mỗi thành phần này 4 So sánh... nâng cao hiệu suất của hệ thống, cần phải tăng tốc độ xử lý của bộ điều phối tiến trình Chức năng điều phối tiến trình là một trong chức năng cơ bản, quan trọng nhất của hệ điều hành Trong nhiều hệ điều hành, có thể không có bộ điều phối tác vụ hoặc tách biệt rất ít đối với bộ điều phối tiến trình Một vài hệ điều hành lại đưa ra một cấp độ điều phối trung gian kết hợp cả hai cấp độ điều phối tác vụ và... tránh các công việc ảnh hưởng đến nhau Hệ điều hành cũng cài đặt thuộc tính spool Giai đoạn này cũng đánh dấu sự ra đời của hệ điều hành chia xẻ thời gian như UNIX và hệ thống các máy mini cũng xuất hiện như DEC PDP-1 VI.4 Thế hệ 4 (1980 - ) 12 Hệ điều hành Nguyễn Xuân Hùng 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 Bên... cầu hệ điều hành kết thúc xử lý của một tiến trình khác Khi một tiến trình kết thúc, hệ điều hành thực hiện các công việc :  thu hồi các tài nguyên hệ thống đã cấp phát cho tiến trình  hủy tiến trình khỏi tất cả các danh sách quản lý của hệ thống  hủy bỏ PCB của tiến trình Hầu hết các hệ điều hành không cho phép các tiến trình con tiếp tục tồn tại nếu tiến trình cha đã kết thúc Trong những hệ thống... vụ thì được hệ thống hủy bỏ khỏi mọi danh sách điều phối IV.2.2 Các cấp độ điều phối Thực ra công việc điều phối được hệ điều hành thực hiện ở hai mức độ : điều phối tác vụ (job scheduling) và điều phối tiến trình ( process scheduling) a) Điều phối tác vụ Quyết định lựa chọn tác vụ nào được đưa vào hệ thống, và nạp những tiến trình của tác vụ đó vào bộ nhớ chính để thực hiện Chức năng điều phối tác... năng của mỗi thành phần này 4 So sánh các cấu trúc khác nhau của hệ điều hành Ưu khuyết điểm củ mỗi loại cấu trúc 5 Quá trình phát triển của hệ điều hành phụ thuộc vào những yếu tố nào 13 Hệ điều hành Nguyễn Xuân Hùng CHƢƠNG 2: QUẢN LÝ TIẾN TRÌNH A QUẢN LÝ TIẾN TRÌNH Trong bài này chúng ta sẽ tìm hiểu chức năng quản lý tiến trình của Hệ điều hành : làm thế nào để phân chia CPU cho các tiến trình ? Theo.. .Hệ điều hành Nguyễn Xuân Hùng d.Mô hình Client-Server Khuynh hướng của các hệ điều hành hiện đại là chuyển dần các đoạn mã của hệ thống lên những lớp cao hơn và bỏ dần các chức năng trong hạt nhân, chỉ còn lại một hạt nhân tối thiểu Cách tiếp cận là cài đặt hầu hết những chức năng của hệ điều hành trong các xử lý của người sử dụng Để yêu cầu một... trình được xử lý tiếp theo Bộ điều phối sẽ sử dụng một giải thuật điều phối thích hợp để thực hiện nhiệm vụ này Một thành phần khác của hệ điều hành cũng tiềm ẩn trong công tác điều phối là bộ phân phối (dispatcher) Bộ phân phối sẽ chịu trách nhiệm chuyển đổi ngữ cảnh và trao CPU cho tiến trình được chọn bởi bộ điều phối để xử lý IV.1 Giới thiệu IV.1.1 Mục tiêu điều phối Bộ điều phối không cung cấp cơ... một tiến trình người dùng gọi đến một lời gọi hệ thống, tiến trình của hệ điều hành xử lý lời gọi này sẽ hoạt động trong chế độ đặc quyền, sau khi hoàn tất thì trả quyền điều khiển về cho tiến trình người dùng trong chế độ không đặc quyền Hình 2.3 Hai chế độ xử lý III.3 Cấu trúc dữ liệu khối quản lý tiến trình Hệ điều hành quản lý các tiến trình trong hệ thống thông qua khối quản lý tiến trình (process... cần bao nhiêu thời gian nữa để kết thúc xử lý IV.1.3 Điều phối không độc quyền và điều phối độc quyền (preemptive/nopreemptive) Thuật toán điều phối cần xem xét và quyết định thời điểm chuyển đổi CPU giữa các tiến trình Hệ điều hành có thể thực hiện cơ chế điều phối theo nguyên lý độc quyền hoặc không độc quyền a )Điều phối độc quyền : Nguyên lý điều phối độc quyền cho phép một tiến trình khi nhận được ... :  định danh cho tiến trình phát sinh  đưa tiến trình vào danh sách quản lý hệ thống  xác định độ ưu tiên cho tiến trình  tạo PCB cho tiến trình  cấp phát tài nguyên ban đầu cho tiến trình... trường để thi hành chương trình, cách cung cấp dịch vụ cho chương trình cho người sử dụng Các dịch vụ hệ thống khác có lớp chung Các dịch vụ giúp cho lập trình viên thuận tiện việc lập trình dể dàng... nhằm cho phép phục hồi hoạt động tiến trình trước bị ngắt  Bộ xử lý: dùng cho máy có cấu hình nhiều CPU, xác định số hiệu CPU mà tiến trình sử dụng  Bộ nhớ chính: danh sách khối nhớ cấp cho

Ngày đăng: 30/12/2015, 18:19

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w