Giao trinh he dieu hanh

102 118 0
Giao trinh he dieu hanh

Đ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

KHÁI NIỆM VỀ HỆ ĐIỀU HÀNH Hệ điều hành là một chương trình hay một hệ chương trình hoạt động giữa người sử dụng (user) và phần cứng của máy tính. Mục tiêu của hệ điều hành là cung cấp một môi trường để người sử dụng có thể thi hành các chương trình. Nó làm cho máy tính dể sử dụng hơn, thuận lợi hơn và hiệu quả hơn. Hệ điều hành là một phần quan trọng của hầu hết các hệ thống máy tính. Một hệ thống máy tính thường được chia làm bốn phần chính : phần cứng, hệ điều hành, các chương trình ứng dụng và người sử dụng. Phần cứng bao gồm CPU, bộ nhớ, các thiết bị nhập xuất, đây là những tài nguyên của máy tính. Chương trình ứng dụng như các chương trình dịch, hệ thống cơ sở dữ liệu, các trò chơi, và các chương trình thương mại. Các chương trình này sử dụng tài nguyên của máy tính để giải quyết các yêu cầu của người sử dụng. Hệ điều hành điều khiển và phối hợp việc sử dụng phần cứng cho những ứng dụng khác nhau của nhiều người sử dụng khác nhau. Hệ điều hành cung cấp một môi trường mà các chương trình có thể làm việc hữu hiệu trên đó.

BÀI 1: TỔNG QUAN VỀ HỆ ĐIỀU HÀNH I.KHÁI NIỆM VỀ HỆ ĐIỀU HÀNH Hệ điều hành chương trình hay hệ chương trình hoạt động người sử dụng (user) phần cứng máy tính Mục tiêu hệ điều hành cung cấp môi trường để người sử dụng thi hành chương trình Nó làm cho máy tính dể sử dụng hơn, thuận lợi hiệu Hệ điều hành phần quan trọng hầu hết hệ thống máy tính Một hệ thống máy tính thường chia làm bốn phần : phần cứng, hệ điều hành, chương trình ứng dụng người sử dụng Phần cứng bao gồm CPU, nhớ, thiết bị nhập xuất, tài nguyên máy tính Chương trình ứng dụng chương trình dịch, hệ thống sở liệu, trò chơi, chương trình thương mại Các chương trình sử dụng tài nguyên máy tính để giải yêu cầu người sử dụng Hệ điều hành điều khiển phối hợp việc sử dụng phần cứng cho ứng dụng khác nhiều người sử dụng khác Hệ điều hành cung cấp môi trường mà chương trình làm việc hữu hiệu Hình 1.1 Mơ hình trừu tượng hệ thống máy tính 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 sốt việc sử dụng máy tính, đặc biệt thiết bị nhập xuất Tuy nhiên, nhìn chung chưa có định nghĩa hồn hảo hệ điều hành Hệ điều hành tồn để giải vấn đề sử dụng hệ thống máy tính Mục tiêu giúp cho việc thi hành chương trình dễ dàng Mục tiêu thứ hai hỗ trợ cho thao tác hệ thống máy tính hiệu Mục tiêu đặc biệt quan trọng hệ thống nhiều người dùng hệ thống lớn(phần cứng + quy mô sử dụng) Tuy nhiên hai mục tiêu có phần tương phản lý thuyết hệ điều hành tập trung vào việc tối ưu hóa việc sử dụng tài nguyên máy tính II.PHÂN LOẠI HỆ ĐIỀU HÀNH II.1 Hệ thống xử lý theo lô Bộ giám sát thường trự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, thời gian thực mau Một chương trình, gọi giám sát thường trực thiết kế để giám sát việc thực dãy cơng việc cách tự động, chương trình ln ln thường trú nhớ Hệ điều hành theo lô thực công việc theo thị định trước CPU thao tác nhập xuất : CPU thường hay nhàn rỗi tốc độ làm việc thiết bị nhập xuất (thường thiết bị cơ) chậm nhiều lần so với thiết bị điện tử Cho dù CPU chậm nhất, nhanh nhiều lần so với thiết bị nhập xuất Do phải có phương pháp để đồng hóa việc hoạt động CPU thao tác nhập xuất Xử lý off_line : Xử lý off_line thay CPU phải đọc trực tiếp từ thiết bị nhập xuất thiết bị xuất, hệ thống dùng lưu trữ trung gian CPU thao thác với phận Việc đọc hay xuất đến từ lưu trữ trung gian Spooling : Spool (simultaneous peripheral operation on-line) đồng hóa thao tác bên ngồi on-line Cơ chế cho phép xử lý CPU on-line, sử dụng đĩa để lưu liệu nhập xuất II.2 Hệ thống xử lý theo lô đa chương Khi có nhiều cơng việc truy xuất lên thiết bị, vấn đề lập lịch cho công việc cần thiết Khía cạnh quan trọng việc lập lịch khả đa chương Đa chương (multiprogram) gia tăng khai thác CPU cách tổ chức công việc cho CPU ln ln phải tình trạng làm việc Ý tưởng sau : hệ điều hành lưu giữ phần công việc nơi lưu trữ nhớ CPU thực phần công việc Khi thực hiện, có yêu cầu truy xuất thiết bị CPU khơng nghỉ mà thực tiếp cơng việc thứ hai… Với hệ đa chương hệ điều hành định cho người sử dụng vậy, hệ điều hành đa chương tinh vi Hệ phải xử lý vấn đề lập lịch cho công việc, lập lịch cho nhớ cho CPU 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 online… Hệ điều hành chia xẻ kiểu hệ điều hành đại ngày II.4 Hệ thống song song Ngồ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 khơng phải theo tỉ lệ thời gian, nghĩa có n xử lý khơng có nghĩa thực nhanh n lần Hệ thống với máy nhiều xử lý tối ưu hệ thống có nhiều máy có xử lý xử lý chia xẻ thiết bị ngoại vi, hệ thống lưu trữ, nguồn … thuận tiện cho nhiều chương trình làm việc tập hợp liệu Một lý độ tin cậy Các chức xử lý nhiều xử lý hỏng hóc xử lý không ảnh hưởng đến tồn hệ thống Hệ thống đa xử lý thơng thường sử dụng cách đa xử lý đối xứng, cách xử lý chạy với hệ điều hành, liên lạc với cần thiết Một số hệ thống sử dụng đa xử lý bất đối xứng, xử lý giao công việc riêng biệt Một xử lý kiểm sốt tồn hệ thống, xử lý khác thực theo lệnh xử lý theo thị định nghĩa trước Mơ hình theo dạng quan hệ chủ tớ Bộ xử lý lập lịch cho xử lý khác Một ví dụ hệ thống xử lý đối xứng version Encore UNIX cho máy tính Multimax Hệ thống có hàng tá xử lý Ưu điểm nhiều tiến trình thực lúc Một hệ thống đa xử lý cho phép nhiều công việc tài nguyên chia xẻ tự động xử lý khác 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 tốn : Một thao tác tính tố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 tốn nhiều vị trí khác để tính tốn song song  An tồn : Nếu vị trí hệ thống phân tán bị hỏng, vị trí khác tiếp tục làm việc  Thông tin liên lạc với :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, thường dùng điều khiển thiết bị ứng dụng tận hiến (dedicated) Máy tính phân tích liệu chỉnh điều khiển giải cho liệu nhập Một hệ điều hành xử lý thời gian thực phải định nghĩa tốt, thời gian xử lý nhanh Hệ thống phải cho kết xác khoảng thời gian bị thúc ép nhanh Có hai hệ thống xử lý thời gian thực hệ thống thời gian thực cứng hệ thống thời gian thực mềm Hệ thống thời gian thực cứng cơng việc hồn tất lúc Lúc liệu thường lưu nhớ ngắn hạn hay ROM Việc xử lý theo thời gian thực xung đột với tất hệ thống liệt kê Dạng thứ hai hệ thống thời gian thực mềm, công việc có độ ưu tiên riêng thi hành theo độ ưu tiên Có số lĩnh vực áp dụng hữu hiệu phương pháp multimedia hay thực ảo III CẤU TRÚC CỦA HỆ ĐIỀU HÀNH III.1 Các thành phần hệ thống Quản lý tiến trình Một chương trình khơng thực nếøu khơng CPU thi hành Một tiến trình chương trình thi hành, ý nghĩa rộng Một cơng việc theo lơ tiến trình Một chương trình người dùng chia xẻ thời gian tiến trình, công việc hệ thống soopling xuất máy in tiến trình Một tiến trình phải sử dụng tài nguyên thời gian sử dụng CPU, nhớ, tập tin, thiết bị nhập xuất để hồn tất cơng việc Các tài ngun cung cấp tiến trình tạo hay trình thi hành Khi tiến trình tạo, sử dụng nhiều tài nguyên vật lý luận lý.cũng số khởi tạo liệu nhập Ví dụ , khảo sát tiến trình hiển thị trạng thái tập tin lên hình Đầu vào tiến trình tên tập tin, tiến trình thực thị thích hợp, thực lời gọi hệ thống để nhận thông tin mong muốn hiển thị lên hình Khi tiến trình kết thúc, hệ điềûu hành tái tạo lại tài nguyên dùng lại Một tiến trình hoạt động (active) hồn tồn-ngược lại với tập tin đĩa thụ động (passive)-với đếm chương trình cho biết lệnh thi hành.Việc thi hành thực theo chế , CPU thi hành từ lệnh đầu đến lệnh cuối Một tiến trình coi đơn vị làm việc hệ thống Một hệ thống có nhiều tiến trình lúc , số tiến trình hệ điều hành, số tiến trình người sử dụng tiến trình diễn đồng thời Vai trò hệ điều hành việc quản lý tiến trình :  Tạo hủy tiến trình người sử dụng hệ thống  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 sốt deadlock(khái niệm trình bày chương II) Quản lý nhớ : Trong hệ thống máy tính đại, nhớ trung tâm thao tác, xử lý Bộ nhớ xem mảng kiểu byte hay kiểu word Mỗi phần tử có địa Đó nơi lưu liệu CPU truy xuất cách nhanh chóng so với thiết bị nhập/xuất CPU đọc thị từ nhớ Các thiết bị nhập/xuất cài đặt chế DMA(xem chương IV) đọc ghi liệu nhớ Thơng thường nhớ chứa thiết bị mà CPU định vị trực tiếp Ví dụ CPU truy xuất liệu từ đĩa, liệu chuyển vào nhớ qua lời gọi hệ thống nhập/xuất Một chương trình muốn thi hành trước hết phải ánh xạ thành địa tuyệt đối nạp vào nhớ chính.Khi chương trình thi hành, hệ thống truy xuất thị liệu chương trình nhớ Ngay tiến trình kết thúc , liệu nhớ tiến trình khác ghi chồng lên Để tối ưu hóa q trình hoạt động CPU tốc độ máy tính, số tiến trình lưu giữ nhớ Có nhiều kế hoạch quản trị nhớ có nhiều ứng dụng nhớ khác hiệu thuật tốn phụ thuộc vào tùy tình cụ thể Lựa chọn thuật tốn cho hệ thống mơ tả trước phụ thuộc vào nhiều yếu tố, đặc biệt phần cứng hệ thống 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 Quản lý nhớ phụ : 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 q trình thi hành Nhưng nhớ nhỏ để lưu giữ liệu chương trình, ngồi 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ý Vì quản lý hệ thống đĩa quan trọng cho hệ thống máy tính Vai trò hệ điều hành việc quản lý đĩa :  Quản lý vùng trống đĩa  Định vị lưu trữ  Lập lịch cho đĩa 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 Quản lý hệ thống nhập xuất : 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ả Quản lý hệ thống tập tin : 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 sốt điều khiển đĩa (disk driver) có tính chất riêng Những tính chất tốc độ, khả lưu trữ, tốc độ truyền liệu cách truy xuất Để cho việc sử dụng hệ thống máy tính thuận tiện, hệ điều hành cung cấp nhìn logic đồng hệ thống lưu trữ thông tin Hệ điều hành định nghĩa đơn vị lưu trữ logic tập tin Hệ điều hành tạo ánh xạ từ tập tin đến vùng thông tin đĩa truy xuất tập tin thông qua thiết bị lưu trữ Một tập tin tập hợp thơng tin người tạo xác định Thông thường tập tin đại diện cho chương trình liệu Dữ liệu tập tin số, ký tự, hay ký số 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ữ Hệ thống bảo vệ : Trong hệ thống nhiều người sử dụng cho phép nhiều tiến trình diễn đồng thời, tiến trình phải bảo vệ hoạt động khác.Do đó, hệ thống cung cấp chế để đảm bảo tập tin, nhớ, CPU, tài nguyên khác truy xuất tiến trình có quyền Ví dụ, nhớ đảm bảo tiến trình thi hành phạm vi địa Bộ thời gian đảm bảo khơng có tiến trình độc chiếm CPU Cuối thiết bị ngoại vi bảo vệ Hệ thống bảo vệ chế kiểm sốt q trình truy xuất chương trình, tiến trình, người sử dụng với tài nguyên hệ thống Cơ chế cung cấp cách thức để mô tả lại mức độ kiểm soát Hệ thống bảo vệ làm tăng độ an toàn kiểm tra lỗi giao tiếp hệ thống nhỏ bên Hệ thống chế 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 sốt nhập xuất, quản lý lưu trữ phụ, quản lý nhớ chính, truy xuất hệ thống tập tin chế bảo vệ III.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 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 u cầu nhập xuất Nhập xuất tập tin hay thiết bị Đối với thiết bị có hàm đặc biệt thi hành Để tăng hiệu quả, người sử dụng không truy xuất trực tiếp thiết bị nhập xuất mà thông qua cách thức hệ điều hành cung cấp Thao tác hệ thống tập tin 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 Có hai cách thực hiện: Một thực thay tiến trình máy tính, hai thay tiến trình hệ thống khác hệ thống mạng 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 III.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 Để hiểu q trình hoạt động lời gọi hệ thống khảo sát chương trình nhỏ dùng để đọc liệu từ tập tin chép qua tập tin khác Dữ liệu nhập của chương trình tên hai tập tin : tập tin nhập tập tin xuất Tên mô tả nhiều cách tùy thuộc vào thiết kế hệ điều hành : chương trình yêu cầu người sử dụng cho biết tên hai tập tin, họ cung cấp cách lựa chọn với chuột Khi có tên hai tập tin, chương trình mở tập tin nhập tạo tập tin xuất Mỗi thao tác thực lời gọi hệ thống khác Cũng có trường hợp phát sinh lỗi : Khi chương trình mở tập tin nhập, xảy trường hợp khơng có tập tin có tên mơ tả tập tin bị cấm truy cập Trong trường hợp chương trình phải xuất thơng điệp lên hình Nếu tập tin nhập tồn tại, phải tạo tập tin Hệ thống phải kiểm tra tiếp xem có tập tin xuất tồn khơng có lời gọi hệ thống tương ứng để giải hủy tiến trình, hai xóa tập tin tồn tạo tập tin Sau thiết lập xong tập tin, hệ thống tiếp tục tạo vòng lặp đọc liệu từ tập tin nhận ghi lên tập tin xuất Mỗi bước có kiểm tra lỗi Sau chép xong, chương trình đóng hai tập tin lại (dùng lời gọi hệ thống khác), xuất thơng báo lên hình (dùng lời gọi hệ thống) cuối chấm dứt chương trình (lời gọi hệ thống cuối cù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 sốt tiến trình, thao tác tập tin, thao tác thiết bị, thông tin III.4 Cấu trúc hệ thống Cấu trúc đơn giản Cấu trúc số hệ thống thương mại khơng có 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 Mặc dù MS-DOS có cấu trúc giao diện chức khơng có phân chia rõ rệt Các chương trình ứng dụng truy xuất trực tiếp thủ tục nhập xuất ghi trực tiếp lên hình hay điều khiển đĩa 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ị, xem XI) 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 tồ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 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 thơi 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: 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 Các ví dụ khác cấu trúc lớp hệ điều hành VENUS OS/2 Hình 1.6 Cấu trúc lớp OS/2 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 Mơ hình Client-Server Khuynh hướng hệ điều hành đại chuyển dần đoạn mã hệ thống lên lớp cao bỏ dần chức hạt nhân, lại hạt nhân tối thiểu Cách tiếp cận cài đặt hầu hết chức hệ điều hành xử lý người sử dụng Để yêu cầu dịch vụ, đọc khối từ tập tin, xử lý người sử dụng (còn gọi tiến trình client) gửi yêu cầu cho xử lý phận dịch vụ (còn gọi tiến trình server) Sau đó, thực gửi kết trở lại Trong mơ hình này, chức hạt nhân kiểm sốt q trình thơng tin client server Bằng cách chia hệ điều hành thành phần nhỏ, phần kiểm soát mặt hệ thống dịch vụ tập tin, tiến trình, terminal, nhớ, phần gọn dể quản lý Hơn nữa, tất server thực tiến trình mức độ người dùng (user-mode) mức độ hạt nhân (kernel-mode), nên khơng truy xuất trực tiếp phần cứng Do đó, server tập tin bị lỗi, dịch vụ tập tin bị hỏng thường khơng gây ảnh hưởng đến tồn hệ thống 10 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 ngun 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 ngun 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 Ma trận quyền truy xuất ( Access matrix) Một cách trừu tượng, biểu diễn mơ hình bảo vệ ma trận quyền truy xuất ( access matrix) Các dòng ma trận biễu diễn miền bảo vệ cột tương ứng với đối tượng hệ thống Phần tử acess[i,j] ma trận xác định quyền truy xuất mà tiến trình hoạt động miền bảo vệ Di thao tác đối tượng Oj object F1 F2 F3 Máy in domain D1 đọc đọc D2 in D3 đọc xử lý D4 đọc đọc ghi ghi Hình 5.2 Ma trận quyền truy xuất Cơ chế bảo vệ cung cấp ma trận quyền truy xuất cài đặt ( với đầy đủ thuộc tính ngữ nghĩa đả mô tả lý thuyết), lúc người sử dụng áp dụng chiến lược bảo vệ cách đặc tả nội dung phần tử tương ứng ma trận _ xác định quyền truy xuất ứng với miền bảo vệ , cuối cùng, hệ điều hành định cho phép tiến trình hoạt động miền bảo vệ thích hợp Ma trận quyền truy xuất cung cấp chế thích hợp để định nghĩa thực kiểm soát nghiêm nhặt cho phương thức liên kết tĩnh động tiến trình với miền bảo vệ : Có thể kiểm sốt việc chuyển đổi miền bảo vệ quan niệm miền bảo vệ đối tượng hệ thống, bổ sung cột mơ tả cho ma trận quyền truy xuất Khi tiến trình phép chuyển từ miền bảo vệ Di sang miền bảo vệ Dj phần tử access(i,j) chứa đựng quyền « chuyển » ( switch) object F1 F2 F3 Máy in D1 D2 D3 D4 domain 88 D1 D2 D3 D4 đọc đọc chuyển in chuyển chuyển đọc xử lý đọc đọc chuyển ghi ghi Hình 5.3 Ma trận quyền truy xuất với domain đối tượng Có thể kiểm soát việc sửa đổi nội dung ma trận (thay đổi quyền truy xuất miền bảo vệ) quan niệm thân ma trận đối tượng Các thao tác sửa đổi nội dung ma trận phép thực bao gồm : chép quyền ( copy), chuyển quyền ( transfer), quyền sở hữu (owner), quyền kiểm soát (control)  Copy: quyền truy xuất R access[i,j] đánh dấu R* chép sang phần tử access[k,j] khác ( mở rộng quyền truy xuất R đối tượng Oj miền bảo vệ Dk )  Transfer : quyền truy xuất R access[i,j] đánh dấu R+ chuyển sang phần tử access[k,j] khác ( chuyển quyền truy xuất R+ đối tượng Oj sang miền bảo vệ Dk )  Owner : access[i,j] chứa quyền truy xuất owner tiến trình hoạt động miền bảo vệ Di thêm xóa quyền truy xuất phần tử cột j (có quyền thêm hay bớt quyền truy xuất đối tượng Oj miền bảo vệ khác)  Control : access[i,j] chứa quyền truy xuất control tiến trình hoạt động miền bảo vệ Di xóa quyền truy xuất phần tử dòng j (có quyền bỏ bớt quyền truy xuất miền bảo vệ Dj) object domain F1 F2 F3 D1 D2 D3 xử lý xử lý xử lý đọc* ghi+ xử lý object domain D1 D2 D3 F1 F2 F3 xử lý xử lý xử lý đọc* đọc xử lý ghi+ (a) (b) Hình 5.4 Ma trận quyền truy xuất với quyền copy , transfer (a) trước, (b) sau cập nhật object domain D1 F1 owner xử lý D2 D3 F2 F3 ghi đọc* owner đọc* owner ghi* xử lý Hình 5.5 (a) 89 object domain D1 D2 D3 F1 F2 F3 owner đọc* ghi* ghi đọc* owner ghi* owner xử lý (b) Hình 5.5 Ma trận quyền truy xuất với quyền owner (a) trước, (b) sau cập nhật object F1 F2 F3 Máy in D1 D2 D3 D4 domain D1 đọc đọc chuyển D2 in chuyển control chuyển D3 đọc xử lý D4 ghi ghi chuyển Hình 5.6 Ma trận quyền truy xuất sửa đổi nội dung so với H5.3 nhờ quyền control IV Cài đặt ma trận quyền truy xuất IV.1 Bảng toàn cục Cách đơn giản để cài đặt ma trận truy xuất sử dụng bảng bao gồm ba thứ tự < miền bảo vệ, đối tượng, quyền truy xuất > Mỗi thực thao tác M đ&#ÿ889;i tượng Oj miền bảo vệ Di, cần tìm bảng tồn cục ba < Di, Oj, Rk > mà M  Rk Nếu tìm thấy, thao tác M phép thi hành, không, xảy lỗi truy xuất IV.2 Danh sách quyền truy xuất ( Access control list _ ACL) Có thể cài đặt cột ma trận quyền truy xuất danh sách quyền truy xuất đối tượng Mỗi đối tượng hệ thống có danh sách bao gồm phần tử hai thứ tự , danh sách xác định quyền truy xuất qui định miền bảo vệ tác động đối tượng Mỗi thực thao tác M đối tượng Oj miền bảo vệ Di, cần tìm danh sách quyền truy xuất đối tượng Oj hai < Di,Rk > mà M  Rk Nếu tìm thấy, thao tác M phép thi hành, không, xảy lỗi truy xuất Ví dụ : Một miền bảo vệ hệ thống UNIX xác định tương ứng với người sử dụng (uid) nhóm (gid) Giả sử có người dùng : A,B,C,D thuộc nhóm tương ứng system, staff, student, student Khi tập tin hệ thống có ACL sau : File0 : ( A,*,RWX) File1 : ( A,system,RWX) File2 : ( A,*,RW-),(B,staff,R ),(D,*,RW-) File3 : ( *,student,R ) File4 : (C,*, -),(*,student,R ) Thực tế, hệ thống tập tin UNIX bảo vệ cách tập tin gán tương ứng bit bảo vệ , bit mô tả quyềntruy xuất R(đọc), W(ghi) hay X(xử lý) tiến trình tập tin theo thứ tự : tiến trình sỡ hữu tiến trình nhóm với tiến trình sỡ hữu, tiến trình khác Đây dạng ACL nén thành bit IV.3 Danh sách tiềm miền bảo vệ (Capability list – C_List) Mỗi dòng ma trận quyền truy xuất tương ứng với miền bảo vệ tổ chức thành danh sách tiềm (capabilities list) : Một danh sách tiềm miền bảo vệ danh sách đối tượng thao tác quyền thực đối tượng tiến trình hoạt động miền bảo vệ 90 Một phần tử C-List gọi tiềm (capability) hình thức biễu diển định nghĩa cách có cấu trúc cho đối tượng hệ thống quyền truy xuất hợp lệ đối tượng kiểu đối quyền truy trỏ đến đối tượng tượng xuất Hình 5.7 Tiềm Ví dụ : Tiến trình thực thao tác M đối tượng Oj miền bảo vệ Di, C_List Di có chứa tiềm tương ứng Oj Danh sách tiềm gán tương ứng với miền bảo vệ, thực chất đối tượng bảo vệ hệ thống, tiến trình người sử dụng truy xuất đến cách gián tiếp để tránh làm sai lạc C_List Hệ điều hành cung cấp thủ tục cho phép tạo lập, hủy bỏ sửa đổi tiềm đối tượng, tiến trình đóng vai trò server (thường tiến trình hệ điều hành) sửa đổi nội dung C_List IV.4 Cơ chế khóa chìa Đây cách tiếp cận kết hợp danh sách quyền truy xuất danh sách khả Mỗi đối tượng sỡ hữu danh sách mã nhị phân , gọi « khoá » (lock) Cũng thế, miền bảo vệ sỡ hữu danh sách mã nhị phân gọi « chìa » (key) Một tiến trình hoạt động miền bảo vệ truy xuất đến đối tượng miền bảo vệ sỡ hữu chìa tương ứng với khóa danh sách đối tượng Cũng C_List, danh sách « khóa » « chìa » hệ điều hành quản lý, người sử dụng truy xuất trực tiếp đến chúng để thay đổi nội dung IV.5 Thu hồi quyền truy xuất Trong hệ thống bảo vệ động, hệ điều hành cần thu hồi số quyền truy xuất đối tượng chia sẻ nhiều người sử dụng Khi đặt số vấn đề sau :  Thu hồi tức khắc hay trì hỗn, trì hỗn đến ?  Nếu loại bỏ quyền truy xuất đối tượng, thu hồi quyền tất hay chi số người sử dụng?  Thu hồi số quyền hay toàn quyền đối tượng ?  Thu hồi tạm thời hay vĩnh viển quyền truy xuất ? Đối với hệ thống sử dụng danh sách quyền truy xuất, việc thu hồi thực dễ dàng : tìm hủy ACL quyền truy xuất cần thu hồi, việc thu hồi htực tức thời, áp dụng cho tất hay nhóm người dùng, thu hồi toàn hay phần, thu hồi vĩnh viễn hay tạm thời Tuy nhiên hệ sử dụng C_List, vấn đề thu hồi gặp khó khăn tiềm phân tán khắp miền bảo vệ hệ thống, cần tìm chúng trước loại bỏ Có thể giải vấn đề theo nhiều phương pháp :  Tái yêu cầu (Reacquisiton): loại bỏ tiềm khỏi miền bảo vệ sau chu kỳ, miền bảo vệ cần tiềm nào, tái yêu cầu tiềm lại  Sử dụng trỏ đến tiềm (Back-pointers) : với đối tượng, lưu trữ trỏ đến tiềm tương ứng đối tượng Khi cần thu hồi quyền truy xuất đối tượng, lần theo trỏ để cập nhật tiềm tương ứng 91  Sử dụng trỏ gián tiếp (Indirection) : tiềm không trực tiếp trỏ đến đối tượng, mà trỏ đến bảng toàn cục hệ điều hành quản lý KHi cần thu hồi quyền, xoá phần tử tương ứng bảng  Khóa ( Key) : sử dụng chế khóa chìa, cần thu hồi quyền, cần thay đổi khóa bắt buộc tiến trình hay người dùng u cầu chìa V An tồ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 tồn hệ thống (security) muốn đề cập đến mức độ tin cậy mà hệ thống trì phải đối phó khơng với vấn đề nội bộ, mà với tác hại đến từ mơi trường ngồi V.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 tồn bị vi phạm ngun nhân vơ tình hay cố ý phá hoại Việc chống đỡ phá hoại cố ý khó khăn gần khơng thể đạ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 ngồi hoả hoạn, điện, phái hoại cần thực mức độ vật lý (trang bị thiết bị an tồ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 tồn mơi trường bảo đảm tốt, an tồ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 tồ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 V.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 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 hồ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 V.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 : V.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 V.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ệ 92 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ở V.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 : V.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ệ hồn tồ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 V.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 hồ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 hồnh hành máy đơn, chủ yếu lây truyền máy qua việc trao đổi đĩa mềm V.5 Giám sát mối đe doạ Nhìn chung việc bảo đảm an tồ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  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ự đốn cách đối phó sau VI 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 qt cho tố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 tồ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 ngồi  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 93  Ngồ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 khơng thể đạt mức độ an tồ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 94 BÀI 12 : WINDOWS NT I LỊCH SỬ Vào khoảng cuối năm1980, IBM Microsoft cố gắng thay MS-DOS với hệ điều hành OS/2 Tuy nhiên diễn tiến không tốt đẹp mong muốn : OS/2 đời chậm trễ, khơng có tính tương thích cao khơng phổ biến IBM Microsoft đổ lỗi lẫn để cuối hợp tác đến đỗ vỡ 1988, Microsoft mời Dave Cutler (người phát triển VMS VAX Digital ) làm thủ lĩnh để phát triển phần họ dự án OS/2 thành hệ điều hành hoàn toàn Windows New Technology haty vắn tắt WinNT Thoạt trơng giao diện thân thiện WinNT giống họ Windows 9x, thực phần lõi bên hệ điều hành xây dựng hoàn toàn khác biệt WinNT kết hợp chặt chẽ tính bảo vệ phần cứng bảo đảm an toàn người dùng, hệ điều hành có độ tin cậy cao II MỤC TIÊU THIẾT KẾ Microsoft công bố mục tiêu thiết kế đề cho WinNT bao gồm : Có khả mở rộng (extensibility) : nâng cấp dễ dàng nhờ vào kiến trúc phân lớp, thiết kế đơn thể Dễ mang chuyển (portability) : thi hành nhiều cấu hình phần cứng (bao gồm nhiều họ CPU khác nhau) Có độ tin cậy cao (reliability) : có khả phục hồi lỗi, bảo đảm an tồn bảo mật Có tính tương thích mạnh (compatability) : thi hành ứng dụng MS-DOS, 16-bit Win, Win32, OS/2 & POSIX Hiệu thực tốt (performance) : bảo đảm thực hiệu với chế quản lý nội bộ, IPC, hỗ trợ mạng hỗ trợ đa xử lý III CÁC THÀNH PHẦN HỆ THỐNG HAL ( hardware abstraction layer) : Tầng cung cấp trừu tượng hoá phần cứng, che dấu khác biệt phần cứng nhắm đến khả dễ mang chuyển WinNT Hạt nhân (kernel) : thành phần cốt lõi WinNT Chịu trách nhiệm điều phối tiến trình, cung cấp chế đồng hoá, xử lý ngắt va xử lý ngoại lệ Đây phần giao tiếp với HAL, chuyển ngát phát sinh thành tập chuẩn qui định trước Hạt nhân thiết kế hướng đối tượng., sử dụng tập đối tượng :  Các đối tượng điều phối đồng : events, mutants, mutexes, semaphores, threads timers  Các đối tượng kiểm soát : procedure calls, interrupts, power status, processes, profiles Tầng điều hành (Executive): cung cấp dịch vụ mà tất hệ thống khác sử dụng Bao gồm :  Quản Lý Đối Tượng : cung cấp phương thức chuẩn để thao tác đối tượng create, open, close, delete, query name, parse, security  Quản Lý Tiến Trình: cung cấp phương thức tạo hủy tiến trình, tiểu trình  Quản Lý Bộ Nhớ Ảo Và Quản Lý Nhập Xuất : tích hợp chặt chẽ chiến lược phân trang với điều phối đĩa  Hỗ Trợ Gọi Hàm Cục Bộ : tối ưu hoá chế trao đổi thông điệp sở chia sẻ nhớ chung  Hỗ Trợ An Toàn Và Bảo Mật : cung cấp dịch vụ kiểm tra , bảo vệ đối tượng thời gian thực thi Các hệ thống (subsystems) : gồm tiến trình hệ thống hoạt động chế độ user, chịu trách nhiệm tạo mội trường thuận lợi cho ứng dụng thi hành Đây lớp dịch vụ xây dựng dựa tảng dịch vụ gốc hướng ứng dụng vốn phát triển cho hệ điều hành khác Mỗi hệ thống cung cấp API cho hệ điều hành Win32 mơi trường hoạt động chính, phát ứng dụng khác Win32, tiến trình tương ứng chuyển sang hệ thống thích hợp 95 Các hệ thống bảo mật an toàn IV KIẾN TRÚC HỆ ĐIỀU HÀNH WindowsNT V CÁC MODULE QUẢN LÝ CỦA WindowsNT V.1 Quản lý tiến trình Một tiến trình WinNT có :  Một khơng gian địa ảo  PCB chứa thông tin độ ưu tiên tiến trình thống kê điều phối  Một hay nhiều tiểu trình Một tiển trình WinNT có :  Dòng xử lý thơng tin kèm theo  Các trạng thái tiểu trình : o ready: chờ CPU o standby: tiểu trình nhận CPU o running: xử lý o waiting: chờ tín hiệu (IO) o transition: chờ tài nguyên o terminated: kết thúc Bộ điều phối sử dụng chiến lược điều phối ,multilevel feedback với 32 mức ưu tiên :  Các tiểu trình real time (16-31) : độ ưu tiên tĩnh  Các tiểu trình khác nhận độ ưu tiên động (0-15) cập nhật tự động tiến trình tay đổi trạng thái, hay thay đổi tường minh người dùng V.2 Quản lý nhớ ảo 96 Giả sử phần cứng hỗ trợ :  Cơ chế chuyển đổi địa virtual sang physical  Cơ chế phân trang Sử dụng kỹ thuật phân trang với trang kích thước 4K Sử dụng 32 bits địa => không gian địa ảo 4G Cấu trúc liệu hỗ trợ chuyển đổi địa chỉ:  Một thư mục trang (page directory) gồm 1024 phần tử (PDE’s) bytes  Mỗi PDE trỏ đến bảng trang gồøm 1024 phần tử bytes (PTE’s)  Mỗi PTE trỏ đến frame BNVL Khi tiến trình khởi động, cấp workingset mặc định tối thiểu từ 30-50 trang (120-200K) Sau chiến lược demand-paging vận dụng để cấp phát trang đạt workingset cực đại 1.4Mb Khi cần thêm nhớ, trang yêu cầu thêm nạp nhớ tự lớn Nếu khơng, máy cấu hình CPU, chiến lược thay trang xấp xỉ LRU vận dụng để giải phóng bớt trang tiến trình sử dụng workingset tối thiểu V.3 Hệ thống tập tin WinNT hỗ trợ môi trường đa hệ thống tập tin với FA, HPFS đặc biệt hệ thống tập tin NTFS với nhiều ưu điểm :  Sử dụng địa 64-bit cluster : lo liệu cho đĩa cứng dung lượng lớn, sử dụng cluster kích thước nhỏ (512)  Có khả mở rộng kiểm sốt an tồn cho tập tin  Sử dụng tên file dai với UNICODE  Ghi nhận lỗi giao tác file \$LOGFILE  Các cluster tự ghi nhận system file, \$BITMAP  Các cluster hỏng ghi nhận system file, \$BADCLUS  Các cluster sử dụng ghi nhận master file table  Mỗi file WinNT mô tả tối thiểu mẫu tin Master file table (MFT)  Kích thước mẫu tin MFT đặc tả hệ thống thiết lập, biến thiên từ 1K đến 4K  Tất file ánh xạ vào MFT, kể MFT 97 Mỗi mẫu tin MFT có trường header hay nhiều attributes để mô tả cho tập tin tương ứng:  Mỗi attribute lại bao gồm header data  Nếu attribute nhỏ, chứa mẫu tin MFT (ví dụ ‘file’ name, thơng tin ngày cập nhật…)  Nếu attribute lớn (ví dụ nội dung file), số hiệu cluster chứa data lưu mẫu tin V.4 Quản lý nhập xuất Mô hình IO WunNT thiết kế theo kiến trúc tầng cho phép trình điều khiển thiết bị riêng biệt thực tầng logic khác việc quản lý IO Các trình điều khiển tải vào hay gỡ bỏ khỏi hệ thống cách linh động tùy theo nhu cầu người dùng Mơ hình phân lớp cho phép chèn trình điều khiển thiết bị cách dễ dàng V.5 Hỗ trợ mạng NT hỗ trợ mơ hình kết nối mạng peer-to-peer client-server Một số protocol hỗ trợ : SMB, NetBios, NetBeui, TCP/IP V.6 Hỗ trợ xử lý phân tán NT hỗ trợ số chế để thực xử lý phân tán như: named pipe, mailslot, winsock RPC 98  Bài 13 HỆ ĐIỀU HÀNH LINUX Linux hệ điều hành tựa Unix mạnh, linh động, dễ mở rộng hoàn tồn miễn phí Nó sử dụng hiệu nhiều lĩnh vực tin học ứng dụng xây dựng cho Linux ngày I GIỚI THIỆU Unix hệ điều hành thông dụng giới nhiều hệ thống hỗ trợ Hệ điều hành tồn hầu hết kiểu máy tính kể máy tính cá nhân Linux hệ thống Unix tự hình thành từ đồ án giải trí sinh viên người Phần Lan : Linus Torvalds, lấy nguồn cảm hứng từ Minix, hệ thống Unix nhỏ Andy Tanenbaum thiết kế Tháng 10/1991 Linus Torvalds cơng bố version thức Linux (version 0.02) Ngày nay, Linux hệ thống 32-bits, multi-tasking, multi-user, mạng cài phần lớn máy PC (có thể chung với hệ điều hành khác) Nó hỗ trợ đủ loại chương trình khác X Windows, TCP/IP, C/C++GNU công cụ khác GNU, thư điện tử, cơng cụ với LateX tiện ích cho văn phòng (ApplixWare, StartOffice) Sự thành cơng Linux dựa vào nhiều yếu tố :  Mã nguồn hệ thống, hạt nhân, công cụ lập trình phát triển phân phối tự  Linux tương thích với số lớn chuẩn Unix mức độ mã nguồn, bao gồm đặc tính POSIX, system V, BSD  Một số lượng lớn trình ứng dụng Unix miễn phí sử dụng lại Linux mà khơng cần mô tả lại  Hệ thống Linux thiết kế dựa xử lý Intel tận dụng tất chức chúng Linux hệ điều hành bao gồm hạt nhân, thơng dịch lệnh nhiều trình tiện ích Hạt nhân quản lý tài nguyên vật lý (như xử lý, nhớ, thiết bị ngoại vi) logic (như tiến trình, tập tin ) Hạt nhân tạo thành từ tập hợp thủ tục hàm thiết kế ngôn ngữ C Cấu trúc hạt nhân nguyên khối lớp.Người sử dụng thao tác với Linux thông qua thông dịch lệnh Một điểm đặc biệt Linux có nhiều shell khác II TỔ CHỨC HỆ THỐNG II.1 Hệ thống tập tin Một đặc điểm quan trọng Linux hỗ trợ nhiều hệ thống tập tin Điều làm cho linh động tồn với nhiều hệ điều hành khác Từ phiên đầu tiên, Linux hỗ trợ 15 loại tập tin : ext, ext2, xia, minix, umsdos, msdos, vfat, proc, smb, ncp, iso9660, sysv, hpfs, affs ufs Trong Linux, Unix, hệ thống tập tin truy xuất thông qua cấu trúc thừa kế đơn thay thiết bị xác định (như tên ổ đĩa số hiệu ổ đĩa) Linux thêm 99 hệ thống tập tin vào thiết lập (mount) Tất hệ thống tập tin thiết lập vào thư mục gọi thư mục thiết lập Khi đĩa khởi tạo, đĩa chia thành nhiều partitions Mỗi partition có hệ thống tập tin Hệ thống tập tin Linux coi thiết bị khối cách đơn giản tập hợp tuyến tính khối mà khơng quan tâm đến tổ chức vật lý đĩa Chương trình điều khiển thiết bị khối chịu trách nhiệm ánh xạ khối cần đọc thành vị trí vật lý cụ thể đĩa Trong hệ thống tập tin Linux, người sử dụng không quan tâm đến khác biệt chúng thiết bị vật lý khác Hệ thống tập tin khơng hệ thống cục mà ổ đĩa từ xa mạng Ví dụ hệ thống tập tin Linux : A E boot etc lib opt tmp C F cdrom fd proc root var D bin dev home mnt lost+found Hệ thống tập tin Linux hỗ trợ Minix cho phép tập tin có tên tối đa 14 ký tự kích thước khơng vượt q 64Mb Hệ thống tập tin đặc thù Linux ‘hệ thống tập tin mở rộng’ (EXT) giới thiệu vào tháng 4/1992, hệ thống không hiệu nên sau vào năm 1993 ‘hệ thống tập tin mở rộng hệ 2’ thêm vào Có điểm quan trọng hệ thống tập tin EXT đưa vào Linux Hệ thống tập tin thật bị tách khỏi hệ điều hành dịch vụ hệ thống tầng giao tiếp gọi hệ thống tập tin ảo VFS VFS cho phép Linux hỗ trợ nhiều loại hệ thống tập tin khác nhau, loại xem giao tiếp phần mềm với VFS Tất chi tiết hệ thống tập tin chuyển đổi cho chúng xuất phần lại hạt nhân Linux chương trình thi hành hệ thống Lớp VFS cho phép thiết lập cách suốt nhiều hệ thống tập tin khác lúc VFS cài đặt cho việc truy xuất tập tin nhanh đảm bảo tính xác truy xuất VFS đặt thông tin hệ thống tập tin vào nhớ chúng thiết lập sử dụng Các cấu trúc liệu mô tả tập tin thư mục truy xuất tạo hủy thường trực Khi khối truy xuất, chúng đặt vào vùng đệm Vùng đệm khơng lưu giữ liệu mà hỗ trợ quản lý giao tiếp không đồng với phận điều khiển thiết bị khối ‘hệ thống tập tin mở rộng hệ 2’ EXT2 Là hệ thống tập tin thành công Linux Hệ thống này, hệ thống tập tin khác, xây dựng sở khối liệu Các khối liệu có kích thước kích thước tập tin làm tròn thành số nguyên khối EXT2 định nghĩa hệ thống tập tin cách mô tả tập tin hệ thống cấu trúc I-node inode có số để định danh Các I-node đặt bảng Inode Các thư mục EXT2 xem tập tin đặc biệt chứa trỏ đến inode entry Hình 15.1 cho thấy tổng quan hệ thống tập tin EXT2 Hệ thống chia partitions mà quản lý vào Block Group 100 II.2 Điều khiển thiết bị Như đề cập phần quản lý nhập xuất, mục tiêu hệ điều hành giúp cho người sử dụng độc lập với thiết bị Trong Linux, thiết bị phần cứùng xem tập tin thơng thường : chúng mở, đóng , đọc , ghi, sử dụng lời gọi hệ thống để thao tác Mọi thiết bị hệ thống biểu diễn tập tin thiết bị, ví dụ đĩa IDE hệ thống biểu diễn /dev/hda Linux ánh xạ tập tin thiết bị vào lời gọi hệ thống Linux hỗ trợ ba loại thiết bị : ký tự, khối mạng Có nhiều chương trình điều khiển thiết bị khác hạt nhân Linux chúng chia xẻ thuộc tính chung : Mã nguồn hạt nhân : chương trình điều khiển thiết bị phần hạt nhân đoạn mã nguồn khác bị lỗi đe dọa nghiêm trọng đến hệ thống Chương trình điều khiển thiết bị cung cấp giao tiếp chuẩn với hạt nhân Linux Chúng sử dụng dịch vụ chuẩn từ hạt nhân Hầu hết chương trình điều khiển thiết bị Linux nạp đơn thể hạt nhân có u cầu gỡ khơng sử dụng Khi khởi động hệ thống chương trình điều khiển thiết bị khởi tạo tìm thiết bị phần cứng mà điều khiển Linux sử dụng chế DMA sử dụng vector cấu trúc dma_chan để quản lý kênh DMA (mỗi kênh có vector) Mỗi lớp điều khiển thiết bị : ký tự, khối, mạng cung cấp giao tiếp chung với hạt nhân Khi thiết bị khởi tạo, ghi điều khiển thiết bị bên hạt nhân Linux thêm entry vector chrdevs cấu trúc devive_struct Một định danh(id) xác định cho vector cố định Mỗi entry vector chrdevs, device_struct gồm hai phần tử : trỏ đến tên ghi điều khiển thiết bị trỏ tới khối tập tin thao tác Khối tập tin thao tác địa thủ tục chương trình điều khiển thiết bị mà chúng kiểm sốt thao tác mở, đóng, đọc, ghi Nội dung /proc/devices cho thiết bị ký tự lấy từ vector chrdevs Các thiết bị khối truy xuất tập tin Linux quản lý ghi thiết bị khối vector blkdevs, tương tự vector chrdevs entry cấu trúc device_struct có hai loại thiết bị khối : SCSI IDE Mỗi chương trình điều khiển thiết bị khối phải cung cấp giao tiếp với vùng đệm thao tác tập tin thôn thường Cấu trúc blk_dev_struct bao gồm địa thủ tục yêu cầu trỏ đến cấu trúc liệu cần thiết, cấu trúc đại diện cho yêu cầu từ vùng đệm cho điều khiển đọc ghi khối liệu Trong Linux, thiết bị mạng thực thể nhận gửi gói liệu Mỗi thiết bị mạng biểu diễn cấu trúc device Các chương trình điều khiển thiết bị mạng ghi nhận thiết bị mà chúng điều khiển trình khởi tạo mạng lúc khởi động hệ thống 101 Cấu trúc device chứa thông tin thiết bị địa hàm hỗ trợ nghi thức dịch vụ mạng khác Nhữõng hàm chủ yếu tập trung vào việc chuyển liệu sử dụng thiết bị mạng thiết bị sử dụng chế hỗ trợ mạng chuẩn để chuyển liệu nhận cho lớp nghi thức thích hợp Tất gói liệu chuyển nhận biểu diễn cấu trúc sk_buff, cấu trúc linh động cho phép tiêu đề (header) nghi thức mạng dể dàng thêm vào loại bỏ Cấu trúc device lưu thông tin thiết bị mạng : tên, thông tin đường truyền, cờ trạng thái giao tiếp(mơ tả thuộc tính khả thiết bị mạng), thông tin nghi thức, hàng đợi gói tin(đây hàng đợi gói sk_buff chờ chuyển liệu thiết bị mạng đó), hàm hỗ trợ (mỗi thiết bị cung cấp tập hợp thủ tục chuẩn gọi lớp nghi thức) II.3 Quản lý tiến trình Mỗi tiến trình Linux biểu diễn cấu trúc liệu task_struct (task có nghĩa tiến trình Linux) Linux sử dụng task vector để quản lý trỏ đến task_struct, mặc định có 512 phần tử Khi tiến trình tạo ra, task_struct cấp phát nhớ thêm vào vector task Linux hỗ trợ hai loại tiến trình loại bình thường loại thời gian thực Cấu trúc task_struct gồn trường sau : trạng thái (thi hành, chờ, ngưng, lưng chừng), thông tin lập lịch, định danh, thông tin liên lạc tiến trình, liên kết, định thời gian, hệ thống tập tin, nhớ ảo, ngữ cảnh Trong Linux Unix, chương trình lệnh thực theo chế thông dịch Bộ thông dịch gọi shell Linux hỗ trợ nhiều loại shell sh, bash, tcsh Tập tin thi hành có nhiều dạng, dạng sử dụng thơng dụng Linux EFL, ngồi Linux hiểu nhiều dạng tập tin khác Các chế thông tin liên lạc tiến trình sử dụng tín hiệu (SIGNALS), đường ống (PIPE), sockets, semaphore nhớ chia xẻ Có tập hợp tín hiệu định nghĩa trước, tính hiệu phát sinh hạt nhân tiến trình khác nhớ Linux cài đặt tín hiệu task_struct Khơng phải tiến trình hệ thống gửi tín hiệu đến tiến trình khác Tín hiệu phát sinh cách thiết lập bit thích hợp trường signal cấu trúc task_struct Tín hiệu khơng xuất cho tiến trình tạo mà phải chờ đến tiến trình thực trở lại Trong Linux chế đường ống cài đặt sử dụng hai cấu trúc file trỏ đến inode VFS tạm thời xác định trang vật lý nhớ Khi tiến trình ghi thực việc ghi vào đường ống, byte chép vào trang liệu chia sẻ Linux phải đồng trình truy xuất đường ống Tiến trình ghi sử dụng hàm thư viện ghi chuẩn Các chế socket, semaphores nhớ chia sẻ Linux gần giống với hệ thống Unix System V II.4 Quản lý nhớ Linux hỗ trợ hệ thống chia sẻ nhớ IPC (Inter Process Communication- thơng tin liên lạc tiến trình) Unix System V Linux sử dụng nhớ ảo chế phân trang Trên hệ thống Alpha AXP trang có kích thước 8Kb hệ thống Intel x86 trang có kích thước 4Kb Chiến lược thay trang áp dụng LRU Linux có số cấp bảng trang tùy vào khác (Alpha 3, Intel x86 2) Bảng trang chuyển thành tiến trình đặc thù khác nhau, điều giúp cho việc thao tác bảng trang không lệ thuộc vào Linux sử dụng thuật toán Buddy để thực việc cấp phát thu hồi khối trang ( khối = 1, 2, trang ) 102 ... dụng đa xử lý bất đối xứng, xử lý giao cơng việc riêng biệt Một xử lý kiểm sốt tồn hệ thống, xử lý khác thực theo lệnh xử lý theo thị định nghĩa trước Mơ hình theo dạng quan hệ chủ tớ Bộ xử lý... 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ó... 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 khơng phải theo tỉ lệ thời gian, nghĩa có n xử lý khơng có nghĩa thực nhanh n lần Hệ thống với máy nhiều xử lý tối ưu hệ

Ngày đăng: 24/01/2019, 14:32

Từ khóa liên quan

Mục lục

  • a) Sự tin cậy

  • b) Sự bảo toàn thứ tự dữ liệu

  • c) Lặp lại dữ liệu

  • d) Chế độ nối kết

  • e) Bảo toàn giới hạn thông điệp

  • f) Khả năng gửi thông điệp khẩn

  • IV.3. Đồ thị cấp phát tài nguyên

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

  • Đang cập nhật ...

Tài liệu liên quan