Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 43 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
43
Dung lượng
329,72 KB
Nội dung
Chương I TỔNG QUAN VỀ HỆ ĐIỀU HÀNH Nếu phần mềm, máy tính thiết bị điện tử thông thường Với hỗ trợ phần mềm, máy tính lưu trữ, xử lý thơng tin người sử dụng gọi lại thơng tin Phần mềm máy tính chia thành nhiều loại: chương trình hệ thống, quản lý hoạt động máy tính Chương trình ứng dụng, giải vấn đề liên quan đến việc sử dụng khai thác máy tính người sử dụng Hệ điều hành thuộc nhóm chương trình hệ thống chương trình hệ thống quan trọng máy tính người sử dụng Hệ điều hành điều khiển tất tài nguyên máy tính cung cấp mơi trường thuận lợi để chương trình ứng dụng người sử dụng viết chạy máy tính Trong chương xem xét vai trò hệ điều hành trường hợp Một máy tính đại bao gồm: nhiều processor, nhớ chính, clocks, đĩa, giao diện mạng, thiết bị vào/ra khác Tất tạo thành hệ thống phức tạp Để viết chương trình để theo dõi tất thành phần máy tính sử dụng chúng cách hiệu quả, người lập trình phải biết processor thực chương trình nào, nhớ lưu trữ thông tin nào, thiết bị đĩa làm việc (ghi/đọc) nào, lỗi xảy đọc block đĩa, … cơng việc khó khăn q khó người lập trình Nhưng may cho người lập trình ứng dụng người sử dụng công việc hệ điều hành hỗ trợ nên họ không cần quan tâm đến Chương cho nhìn tổng quan liên quuan đến việc thiết kế cài đặt chức hệ điều hành để hệ điều hành đạt mục tiêu: Giúp người sử dụng khai thác máy tính dễ dàng chương trình người sử dụng chạy máy tính I.1 Chức lịch sử phát triển hệ điều hành I.1.1 Chức hệ điều hành Một hệ thống máy tính gồm thành phần chính: phần cứng, hệ điều hành chương trình ứng dụng người sử dụng Trong hệ điều hành phận quan trọng thiếu hệ thống máy tính, nhờ có hệ điều hành mà người sử dụng đối thoại khai thác chức phần cứng máy tính Có thể nói hệ điều hành hệ thống chương trình đóng vai trò trung gian người sử dụng phần cứng máy tính Mục tiêu cung cấp môi trường thuận lợi để người sử dụng dễ dàng thực chương trình ứng dụng họ máy tính khai thác triệt để chức phần cứng máy tính Để đạt mục tiêu hệ điều hành phải thực chức sau đây: Giả lập máy tính mở rộng: Máy tính thiết bị vi điện tử, cấu thành từ phận như: Processor, Memory, I/O Device, Bus, , để đối thoại khai thác máy tính người sử dụng phải hiểu chế hoạt động phận phải tác động trực tiếp vào nó, tất nhiên số 0,1 (ngôn ngữ máy) Điều khó người sử dụng Để đơn giản cho người sử dụng hệ điều hành phải che đậy chi tiết phần cứng máy tính máy tính mở rộng, máy tính mở rộng có đầy đủ chức máy tính thực đơn giản dễ sử dụng Theo cần tác động vào máy tính thực người sử dụng cần tác động vào máy tính mở rộng, chuyển đổi thông tin điều khiển từ máy tính mở rộng sang máy tính thực ngược lại hệ điều hành thực Mục đích chức là: Giúp người sử dụng khai thác chức phần cứng máy tính dễ dàng hiệu Quản lý tài nguyên hệ thống: Tài nguyên hệ thống là: processor, memory, I/O device, printer, file, , tài nguyên mà hệ điều hành dùng để cấp phát cho tiến trình, chương trình trình điều khiển hoạt động hệ thống Khi người sử dụng cần thực chương trình hay chương trình cần nạp thêm tiến trình vào nhớ hệ điều hành phải cấp phát khơng gian nhớ cho chương trình, tiến trình để chương trình, tiến trình nạp vào nhớ hoạt động Trong môi trường hệ điều hành đa nhiệm có nhiều chương trình, tiến trình đồng thời cần nạp vào nhớ, không gian lưu trữ nhớ có giới hạn, hệ điều hành phải tổ chức cấp phát nhớ cho hợp lý để đảm bảo tất chương trình, tiến trình cần nạp vào nhớ để hoạt động Ngoài hệ điều hành cịn phải tổ chức bảo vệ khơng gian nhớ cấp cho chương trình, tiến trình để tránh truy cập bất hợp lệ tranh chấp nhớ chương trình, tiến trình, đặc biệt tiến trình đồng thời hoạt động hệ thống Đây nhiệm vụ quan trọng hệ điều hành Trong trình hoạt động hệ thống, đặc biệt hệ thống đa người dùng, đa chương trình, đa tiến trình, cịn xuất tượng khác, nhiều chương trình, tiến trình đồng thời sử dụng khơng gian nhớ hay tập tin (dữ liệu, chương trình) Trong trường hợp hệ điều hành phải tổ chức việc chia sẻ giám sát việc truy xuất đồng thời tài nguyên nói cho việc sử dụng tài nguyên có hiệu tránh mát liệu làm hỏng tập tin Trên hai dẫn chứng điển hình để thấy vai trò hệ điều hành việc quản lý tài nguyên hệ thống, sau thấy việc cấp phát, chia sẻ, bảo vệ tài nguyên hệ điều hành công việc khó khăn phức tạp Hệ điều hành chi phí nhiều cho cơng việc nói để đạt mục tiêu: Trong trường hợp tất chương trình, tiến trình cần cấp phát tài ngun để hoạt động sớm hay muộn cấp phát đưa vào trạng thái hoạt động Trên hai chức tổng quát hệ điều hành, xem mục tiêu mà nhà thiết kế, cài đặt hệ điều hành phải hướng tới Các hệ điều hành có chức cụ thể sau đây: Hệ điều hành cho phép thực nhiều chương trình đồng thời mơi trường đa tác vụ - Multitasking Environment Hệ điều hành multitasking bao gồm: Windows NT, Windows 2000, Linux OS/2 Trong hệ thống multasking hệ điều hành phải xác định ứng dụng chạy ứng dụng chạy khoản thời gian phải dừng lại ứng dụng khác chạy Hệ điều hành tự nạp vào nhớ - It loads itself into memory: Quá trình nạp hệ điều hành vào nhớ gọi trình Booting Chỉ hệ điều hành nạp vào nhớ cho phép người sử dụng giao tiếp với phần cứng Trong hệ thống có nhiều ứng dụng đồng thời hoạt động nhớ hệ điều hành phải chịu trách nhiệm chia sẻ không gian nhớ RAM nhớ cache cho ứng dụng Hệ điều hành API: Application Programming Interface: API tập hàm/thủ tục xây dựng sẵn bên hệ thống, thực nhiều chức khác shutdown hệ thống, đảo ngược hiệu ứng hình, khởi động ứng dụng, … Hệ điều hành giúp cho chương trình người sử dụng giao tiếp với API hay thực lời gọi đến hàm/thủ tục API Nạp liệu cần thiết vào nhớ - It loads the requied data into memory: Dữ liệu người sử dụng cung cấp đưa vào nhớ để xử lý Khi nạp liệu vào nhớ hệ điều hành phải lưu lại địa nhớ nơi mà liệu lưu Hệ điều hành phải ln theo dõi đồ cấp phát nhớ, nơi liệu chương trình lưu trữ Khi chương trình cần đọc liệu, hệ điều hành đến địa nhớ nơi lưu trữ liệu mà chương trình cần đọc để đọc lại Hệ điều hành biên dịch thị chương trình - It interprets program instructions: Hệ điều hành phải đọc giải mã thao tác cần thực hiện, viết chương trình người sử dụng Hệ điều hành chịu trách nhiệm sinh thông báo lỗi hệ thống gặp lỗi hoạt động Hệ điều hành quản lý tài nguyên - It managers resources: Nó đảm bảo việc sử dụng thích hợp tất tài nguyên hệ thống là: nhớ, đĩa cứng, máy in, … I.1.2 Lịch sử phát triển hệ điều hành I.1.2.a Thế hệ (1945 - 1955): Vào năm 1950 máy tính dùng ống chân không đời Ở hệ máy tính nhóm người thực hiện, bao gồm việc thiết kế, xây dựng chương trình, thao tác, quản lý, Ở hệ người lập trình phải dùng ngơn ngữ máy tuyệt đối để lập trình Khái niệm ngơn ngữ lập trình hệ điều hành chưa biết đến khoảng thời gian I.1.2.b Thế hệ (1955 - 1965): Máy tính dùng bán dẫn đời, sản xuất để cung cấp cho khách hàng Bộ phận sử dụng máy tính phân chia rõ ràng: người thiết kế, người xây dựng, người vận hành, người lập trình, người bảo trì Ngơn ngữ lập trình Assembly Fortran đời thời kỳ Với máy tính hệ để thực thao tác, lập trình viên dùng Assembly Fortran để viết chương trình phiếu đục lỗ sau đưa phiếu vào máy, máy thực cho kết qủa máy in Hệ thống xử lý theo lơ đời thời kỳ Theo đó, thao tác cần thực máy tính ghi trước băng từ, hệ thống đọc băng từ , thực cho kết băng từ xuất Hệ thống xử lý theo lô hoạt động điều khiển chương trình đặc biệt, chương trình hệ điều hành sau I.1.2.c Thế hệ (1965 - 1980) Máy IBM 360 sản xuất hàng loạt để tung thị trường Các thiết bị ngoại vi xuất ngày nhiều, thao tác điều khiển máy tính thiết bị ngoại vi ngày phức tạp Trước tình hình nhu cầu cần có hệ điều hành sử dụng chung tất máy tính nhà sản xuất người sử dụng trở nên thiết Và hệ điều hành đời thời kỳ Hệ điều hành đời nhằm điều phối, kiểm soát hoạt động hệ thống giải yêu cầu tranh chấp thiết bị Hệ điều hành viết ngôn ngữ Assembly Hệ điều hành xuất khái niệm đa chương, khái niệm chia sẻ thời gian kỹ thuật Spool Trong giai đoạn xuất hệ điều hành Multics Unix I.1.2.d Thế hệ (từ 1980) Máy tính cá nhân đời Hệ điều hành MS_DOS đời gắn liền với máy tính IBM_PC Hệ điều hành mạng hệ điều hành phân tán đời thời kỳ Trên ý định trình bày chi tiết, đầy đủ lịch sử hình thành hệ điều hành, mà muốn mượn mốc thời gian đời hệ máy tính bạn thấy trình hình thành hệ điều hành gắn liền với q trình hình thành máy tính Mục tiêu mục muốn nhấn mạnh với bạn điểm sau đây: • Các ngơn ngữ lập trình, đặc biệt ngơn ngữ lập trình cấp thấp, đời trước hệ điều hành Đa số hệ điều hành xây dựng từ ngơn ngữ lập trình cấp thấp trừ hệ điều hành Unix, xây dựng từ C, ngơn ngữ lập trình cấp cao • Nếu khơng có hệ điều hành việc khai thác sử dụng máy tính khó khăn phức tạp nhiều khơng phải sử dụng máy tính • Sự đời phát triển hệ điều hành gắn liền với phát triển máy tính, ngược lại phát triển máy tính kéo theo phát triển hệ điều hành Hệ điều hành thực phát triển máy tính PC xuất thị trường • Ngồi chúng tơi muốn giới thiệu số khái niệm như: hệ thống xử lý theo lô, hệ thống đa chương, hệ thống chia sẻ thời gian, kỹ thuật Spool, , mà xuất khái niệm đánh dấu bước phát triển hệ điều hành Chúng ta làm rõ khái niệm chương sau tài liệu I.2 Một số khái niệm hệ điều hành I.2.1 Tiến trình (Process) tiểu trình (Thread) Tiến trình phận chương trình thực Tiến trình đơn vị làm việc hệ thống, hệ thống tồn nhiều tiến trình hoạt động, có tiến trình hệ điều hành tiến trình chương trình người sử dụng Các tiến trình hoạt động đồng thời với Để tiến trình vào trạng thái hoạt động hệ thống phải cung cấp đầy đủ tài nguyên cho tiến trình Hệ thống phải trì đủ tài nguyên cho tiến trình suốt trình hoạt động tiến trình Ở cần phân biệt khác tiến trình chương trình, chương trình tập tin thụ động nằm đĩa, tiến trình trạng thái động chương trình Các hệ điều hành đại sử dụng mơ hình đa tiểu trình, tiến trình có nhiều tiểu trình Tiểu trình đơn vị xử lý hệ thống, xử lý đoạn code nó, sở hữu trỏ lệnh, tập ghi vùng nhớ stack riêng tiểu trình chia sẻ thời gian xử lý processor tiến trình Các tiểu trình tiến trình chia sẻ khơng gian địa chung, điều có nghĩa tiểu trình chia sẻ biến tồn cục tiến trình, truy xuất đến stack tiểu trình khác tiến trình Như với mơ hình tiểu trình, hệ thống tồn nhiều dịng xử lý chia sẻ không gian địa nhớ, dòng xử lý hoạt động song song với I.2.2 Bộ xử lý lệnh (Shell) Shell phận hay tiến trình đặc biệt hệ điều hành, có nhiệm vụ nhận lệnh người sử dụng, phân tích lệnh phát sinh tiến trình để thực yêu cầu lệnh, tiến trình gọi tiến trình đáp ứng yêu cầu Shell nhận lệnh thơng qua chế dịng lệnh, nơi giao tiếp người sử dụng hệ điều hành, hệ điều hành khác có chế dịng lệnh khác nhau, với MS_DOS trỏ lệnh dấu nhắc hệ điều hành (C:\>_), với Windows 9x nút Start\Run Tập tin Command.Com Shell MS_DOS Trong mơi trường hệ điều hành đơn nhiệm, ví dụ MS_DOS, tiến trình đáp ứng yêu cầu hoạt động Shell chuyển sang trạng thái chờ, để chờ tiến trình đáp ứng yêu cầu kết thúc Shell trở lại trạng thái sẵn sàng nhận lệnh Trong mơi trường hệ điều hành đa nhiệm, ví dụ Windows 9x, sau phát sinh tiến trình đáp ứng yêu cầu đưa vào trạng thái hoạt động Shell chuyển sang trạng thái sẵn sàng nhận lệnh mới, nhờ Shell có khả khởi tạo nhiều tiến trình đáp ứng u cầu để hoạt động song song với nhau, hay xác môi trường hệ điều hành đa nhiệm người sử dụng khởi tạo nhiều chương trình để hoạt động đồng thời với Chú ý: Hầu hết ngơn ngữ lập trình hỗ trợ cơng cụ để người sử dụng hay người lập trình gọi shell ứng dụng họ Khi ứng dụng cần gọi thực chương trình thì: • Trong Assembly, ứng dụng gọi hàm 4Bh/21h MS_DOS • Trong Pascal, ứng dụng gọi thủ tục Exec • Trong Visual Basic, ứng dụng gọi hàm/ thủ tục Shell Ví dụ dịng lệnh sau: Shell “C:\Windows\Notepad.exe” gọi thực chương trình Notepad Windows • Trong Windows 9x/ Windows NT, ứng dụng gọi hàm ShellExecute I.2.3 Sự phân lớp hệ thống (System Layering) Như biết, hệ điều hành hệ thống chương trình bao quanh máy tính thực (vật lý) nhằm tạo máy tính mở rộng (logic) đơn giản dễ sử dụng Theo đó, khai thác máy tính người sử dụng cần tác động vào lớp vỏ bọc bên máy tính, giao tiếp lớp vỏ bọc với chi tiết phần cứng bên hệ điều hành thực Mỗi người sử dụng khác yêu cầu khai thác hệ điều hành mức độ khác Người sử dụng thông thường cần môi trường thuận lợi để họ thực ứng dụng, lập trình viên cần có mơi trường lập trình tốt để họ triển khai ứng dụng, chuyên viên lập trình hệ thống cần hệ điều hành cung cấp cho họ công cụ để họ can thiệp sâu vào hệ thống phần cứng máy tính, Để đáp ứng yêu cầu nhiều đối tượng người sử dụng khỏc h iu Ngổồỡi duỡng Ngổồỡi lỏỷp trỗnh Trỗnhổùng dủng Cạc tiãûn êch Ngỉåìi thiãút kãúhãû âiãưu hnh Hãû âiãưu hnh Pháưn cỉïng Hình 1.1 Sự phân lớp hệ thống hành thực phân lớp chương trình bao quanh máy tính Các hệ thống gọi hệ thống phân lớp Hình vẽ 1.1 minh hoạ cho hệ thống phân lớp Ta hình dung hệ thống phân lớp tổ chức sau: • Trong hệ điều hành • Tiếp theo ngơn ngữ lập trình • • Ngồi chương trình ứng dụng Người sử dụng tác động vào lớp gặp nhiều khó khăn tác động vào lớp I.2.4 Tài nguyên hệ thống (System Resources) Tài nguyên hệ thống tồn mặt vật lý thời điểm định thời điểm, có khả tác động đến hiệu suất hệ thống Một cách tổng quát chia tài nguyên hệ thống thành hai loại bản: • Tài ngun khơng gian: không gian lưu trữ hệ thống đĩa, nhớ chính, quan trọng khơng gian nhớ chính, nơi lưu trữ chương trình CPU thực • Tài ngun thời gian: thời gian thực lệnh processor thời gian truy xuất liệu nhớ Sau vài tài nguyên hệ thống: Bộ nhớ: Đặc trưng nhớ thời gian truy cập trực tiếp, thời gian truy cập tuần tự, dung lượng nhớ Bộ nhớ gọi thực processor thực câu lệnh nó, loại nhớ có thời gian truy cập trực tiếp Bộ nhớ (RAM) PC nhớ thực quản lý hệ thống Khi sử dụng nhớ ta cần phân biệt khái niệm: nhớ truy cập tới nhớ Bộ nhớ vùng vật lý chứa liệu, truy cập nhớ trình tìm đến liệu nhớ Có thể xem loại tài nguyên khác chúng tồn độc lập với Processor: Là tài nguyên quan trọng hệ thống, truy cập mức câu lệnh có làm cho câu lệnh thực hay có Processor đưa tiến trình vào trạng thái hoạt động Trong thực tế xem xét processor người ta ý đến thời gian xử lý processor Tài nguyên ảo/ tài nguyên logic (Virtual Resources): Là loại tài nguyên cung cấp cho chương trình người sử dụng dạng biến đổi, xuất hệ thống cần tới hệ thống tạo tự động hệ thống kết thúc hay xác tiến trình gắn với kết thúc Tài nguyên ảo là: Đĩa ảo môi trường MS_DOS Điều khiển in môi trường mạng Windows 9x/NT Nội dung thư mục Spool Windows 9x Trên khía cạnh cấp phát tài nguyên cho tiến trình hoạt động đồng thời tài nguyên hệ thống chia thành loại: Tài nguyên phân chia được: tài nguyên mà thời điểm cấp phát cho nhiều tiến trình khác nhau, tiến trình song song đồng thời sử dụng tài nguyên Bộ nhớ Processor tài nguyên phân chia điển hình nhất, thời điểm có nhiều tiến trình chia sử dụng khơng gian lưu trữ nhớ có nhiều tiến trình thay sử dụng thời gian xử lý processor Tài nguyên không phân chia được: tài nguyên mà thời điểm cấp phát cho tiến trình Máy in tài nguyên khơng phân chia điển hình Vấn đề đặt hệ điều hành phải biến tài nguyên không phân chia thành tài nguyên phân chia được, theo cách đó, để cấp phát cho tiến trình có u cầu, đặc biệt tiến trình hoạt động đồng thời với Các hệ điều hành đa nhiệm cài đặt thành công mục tiêu Như thấy mơi trường Windows 9x/ NT có nhều tiến trình/ nhiều người sử dụng khác đồng thời sử dụng máy in Ngoài hệ điều hành phải giải vấn đề tranh chấp tài nguyên tiến trình đồng thời yêu cầu phục vụ tiến trình vượt khả cấp phát tài nguyên kể tài nguyên phân chia I.2.5 Lời gọi hệ thống (System Calls) Để tạo môi trường giao tiếp chương trình người sử dụng hệ điều hành, hệ điều hành đưa lời gọi hệ thống Chương trình người sử dụng dùng lời gọi hệ thống để liên lạc với hệ điều hành yêu cầu dịch vụ từ hệ điều hành Mỗi lời gọi hệ thống tương ứng với thủ tục thư viện hệ điều hành, chương trình người sử dụng gọi thủ tục để thực lời gọi hệ thống Lời gọi hệ thống thiết dạng câu lệnh ngơn ngữ lập trình cấp thấp Lệnh gọi ngắt hợp ngữ (Int), thủ tục gọi hàm API windows xem lời gọi hệ thống Lời gọi hệ thống chia thành loại: quản lý tiến trình, thao tác tập tin, thao tác thiết bị vào/ ra, thông tin liên tiến trình, Sau số lời gọi hệ thống hệ điều hành MS_DOS: • S = Load_and_exec(processname): tạo tiến trình thực • Fd = Open(filename, mode): mở file để đọc hoặc/và ghi • N = Write(Fd, buffer, nbyte): ghi liệu từ đệm vào file • Addr = alloc_memory(nbyte): cấp phát khối nhớ • Keep_pro(mem_size, status): kết thúc thường trú chương trình Chú ý: Cần phải phân biệt khác Shell System Call Shell tạo môi trường giao tiếp người sử dụng hệ điều hành, System Call tạo môi trường giao tiếp chương trình người sử dụng hệ điều hành I.3 Hệ điều hành phân loại hệ điều hành I.3.1 Hệ điều hành gì? Khó có khái niệm hay định nghĩa xác hệ điều hành, hệ điều hành phận nhiều đối tượng khai thác nhất, họ người sử dụng thơng thường, lập trình viên, người quản lý hệ thống tùy theo mức độ khai thác hệ điều hành mà họ đưa khái niện khác Ở ta xem xét khái niệm hệ điều hành dựa quan điểm người khai thác hệ thống máy tính: Khái niệm 1: Hệ điều hành hệ thống mơ hình hố, mơ hoạt động máy tính, người sử dụng lập trình viên, hoạt động chế độ đối thoại nhằm tạo môi trường khai thác thuận lợi hệ thống máy tính quản lý tối ưu tài nguyên hệ thống Khái niệm 2: Hệ điều hành hệ thống chương trình với chức giám sát, điều khiển việc thực chương trình người sử dụng, quản lý phân chia tài nguyên cho nhiều chương trình người sử dụng đồng thời cho việc khai thác chức hệ thống máy tính người sử dụng thuận lợi hiệu Khái niệm 3: Hệ điều hành chương trình đóng vai trị giao diện người sử dụng phần cứng máy tính, điều khiển việc thực tất loại chương trình Khái niệm gần với hệ điều hành sử dụng máy tính Từ khái niệm thấy rằng: Hệ điều hành đời, tồn phát triển để giải vấn đề sử dụng máy tính người sử dụng, nhằm giúp người sử dụng khai thác hết chức phần cứng máy tính mà cụ thể giúp người sử dụng thực chương trình họ máy tính I.3.2 Phân loại hệ điều hành Có nhiều cách khác để phân loại hệ điều hành, dựa vào cách mà hệ điều hành thực cơng việc, tác vụ, tiến trình người sử dụng để phân loại hệ điều hành Hệ điều hành xử lý theo lô đơn giản Hệ điều hành loại thực tác vụ theo thị xác định trước Khi tác vụ chấm dứt hệ thống tự động thực tác vụ mà không cần can thiệp từ bên ngồi, hệ thống đạt tốc độ thực cao Để thực điều hệ điều hành phải có phận giám sát thường trực để giám sát việc thực tác vụ hệ thống, phận thường trú nhớ trỉåìng ngỉåìi sỉí dủng Mäi Nháûp tạc vủ I.3.2.a Mäi trỉåìng mạy Hng âåüi taùc vuỷ Kóỳt quaớ Hỗnh 1.2: Hoaỷt õọỹng cuớa hóỷ âiãưu hnh lä âån gin Trong hệ điều hành hệ thống cần thực tác vụ phải lưu chương trình liệu tác vụ vào hành đợi cơng việc, sau thực chương trình liệu tác vụ tương ứng hàng đời cho kết Hình 1.2 minh họa cho hoạt động hệ thống theo lô đa chương Với cách tổ chức hàng đợi tác vụ, hệ thống khơng thể thay đổi chương trình liệu tác vụ chúng nằm hàng đợi, hạn chế Mặt khác trình thực tác vụ tác vụ chuyển sang truy xuất thiết bị vào/ra processor rơi vào trạng thái chờ điều gây lãng phí thời gian xử lý processor Hệ điều hành xử lý theo lô đa chương Một hạn chế hệ điều hành xử lý theo lơ đơn giản lãng phí thời gian xử lý processor tác vụ truy xuất đến thiết bị vào/ra Hệ điều I.3.2.b (server-based) peer-to-peer Windows 2000 xây dựng dựa Windows NT 4.0, cung cấp nhiều cơng cụ tốt để quản lý Internet dịch vụ Internet Windows 2000 họ gồm có sản phẩm, cho client ba cho server: Client: Windows 2000 Professional; Server: Windows 2000 Server, Windows 2000 Advanced Server, Windows 2000 datacenter Server Các sản phẩm khác điểm sau: • Số processor hỗ trợ • Số lượng nhớ vật lý hỗ trợ • Số kết nối mạng hỗ trợ • Các dịch vụ có sản phẩm server khơng có sản phẩm client Các file Windows 2000 bao gồm: • Ntoskrnl.exe: Thành phần Executive Kernel hệ điều hành • Ntkrnlpa.exe: Thành phần Executive Kernel với hỗ trợ để mở rộng nhớ vật lý, cho phép địa hố nhớ vật lý lên đến 64GB • Hal.dll: Lớp phần cứng trừu tượng • Win32k.sys: Bộ phận kernel mode hệ thống Win32 • Ntdll.dll: Hỗ trợ điều phối để thực hàm • Kernel32.dll, Advapi32.dll, User32.dll, Gdi32.dll: Các file hệ thống Win32 DLLs I.6.2 Một số đặc tính Windows 2000 Windows 2000 so với Windows khác: Windows 2000 hỗ trợ hệ thống multiprocessor windows khác không hỗ trợ điều • Windows 2000 hỗ trợ hệ thống file an tồn windows khác khơng có hệ thống file an tồn • Windows 2000 hệ điều hành 32 bít đầy đủ, khơng chứa mã 16 bít, hỗ trợ mã khác để chạy ứng dụng windows 16 bít Các windows khác chứa lượng lớn mã 16 bít cũ từ phiên trước Đây điểm khác biệt lớn windows 2000 so với windows 3.1 MS_DOS • Windows 2000 cung cấp tùy chọn để chạy ứng dụng windows 16 bít, mà ứng dụng sở hữu không gian địa riêng Trong hệ điều hành windows khác ứng dụng windows 16 bít ln chạy không gian địa nhớ chia • • • • • • • • • • • sẻ, mà ứng dụng bị làm hỏng ứng dụng khác Bộ nhớ chia sẻ Windows 2000 nhìn thấy tiến trình ánh xạ đến vùng nhớ chia sẻ, Win32 API vùng nhớ chia sẻ gọi file ánh xạ Trong hệ điều hành windows khác tất nhớ chia sẻ nhìn thấy ghi tất tiến trình Do tiến trình ghi đến file ánh xạ Trong hệ điều hành windows khác vài trang (page) quan trọng hệ điều hành nhớ ghi từ user mode, ứng dụng người sử dụng hỏng hệ thống (ghi đè lên hệ điều hành) Điều không xảy hệ điều hành Windows 2000 Đặc tính Windows 2000 Server: Windows 2000 server cung cấp chế độ Safe mode, cho phép khởi tạo windows 2000 server với tập thiết bị dịch vụ tối thiểu Nó hỗ trợ chức Plug-n-Play Windows 2000 server hỗ trợ ứng dụng MS_DOS, ứng dụng 16/32 bít Windows, đưa chế để bảo vệ ứng dụng ứng dụng hoạt động nhớ Windows 2000 server cung cấp tiện ích Backup, chức Automated System Recorver, để backup liệu, khôi phục liệu liệu tình cờ bị mất, recover restore hệ thống trường hợp lỗi nghiệm trọng xảy đĩa cứng Windows 2000 server cung cấp công cụ cấp cao cho hệ thống cần có độ ổn định khả chịu đựng lỗi cao Windows 2000 server cho phép quản lý hệ thống đĩa: Basic disk Dynamic Disk Nó hỗ trợ hệ thống tập tin: FAT, NTFS, CDFS Windows 2000 server hỗ trợ hệ thống Symmetric Multiprocessing, có từ đến processor Nó quản lý từ 4GB đến 8GB nhớ vật lý Windows 2000 advanced server hỗ trợ hệ thống Clusters Cluster nhóm server kết nối để làm việc với nhau, server cluster bị hỏng server khác cluster thay để hoàn thành tác vụ mà server (server bị hỏng) thực Windows 2000 Datacenter Server hỗ trợ 32-way SMP nhờ OEM (original equipment manufacturer) có khả quản lý đến 64 GB nhớ vật lý Đặc tính giúp server Windows 2000 trở thành trung tâm liệu (database centric), kho liệu lớn (data warehouses) phục vụ cho Internet Service Provider host Web site I.6.3 Một số khái niện Windows 2000 I.5.3.a Tiến trình (Process) tiểu trình (Thread) Tiến trình: Người sử dụng khó phân biệt khác chương trình tiến trình, có khác Một chương trình dãy tĩnh thị, tiến trình nơi chứa tập tài nguyên sử dụng tiểu trình mà tiểu trình thực đoạn mã đặc biệt chương trình Các tiến trình Windows 2000 bao gồm: • Một khơng gian địa ảo riêng, tập địa nhớ ảo mà tiến trình sử dụng • Một chương trình thực được, mà định rõ code data ban đầu ánh xạ vào không gian địa tiến trình • Một danh sách mở tài ngun hệ thống khác mà tiến trình sử dụng semaphore (sự đánh tín hiệu cờ), cổng giao tiếp tiến trình, file, … , tài nguyên truy cập tất tiểu trình tiến trình • Một ngữ cảnh an tồn (security context), gọi thẻ truy cập (access token), định danh người sử dụng, nhóm an tồn, cấp đặc quyền có liên quan với tiến trình • Một định danh nhất, gọi Process ID • Có tiểu trình Tiểu trình: Một tiểu trình thực thể tiến trình Virtual Address Descriptors mà hệ điều hành lập lịch để thực hiện, khơng có Access token tiến trình khơng thể thực Một ProcessObject trình bao gồm thành phần sau: tiểu VAD VAD VAD HandleTable Object Object Thread Thread Thread Access token Hình 1.10: Các tiến trình tài ngun • Nội dung ghi CPU miêu tả trạng thái processor • Hai Stack, cho tiểu trình sử dụng thực kernel mode cho tiểu trình sử dụng user mode • Một vùng lưu trữ riêng gọi TLS (theard local storage) để sử dụng hệ thống Connection, thư viện run-time, DLL • Một định danh nhất, gọi Theard ID • Đơi tiểu trình sở hữu ngữ cảnh an tồn riêng, thường sử dụng ứng dụng server đa tiểu trình Các ghi, stack vùng lưu trữ riêng gọi ngữ cảnh tiểu trình Bởi thơng tin khác cho kiến trúc máy khác mà Windows 2000 chạy Cấu trúc ngữ cảnh trả hàm Win32 API GetThreardContexxt Mặc dù tiểu trình có ngữ cảnh thực riêng, tiểu trình phạm vi tiến trình chia sẻ khơng gian địa ảo tiến trình, điều có nghĩa tất tiểu trình tiến trình ghi đến đọc từ nhớ tiểu trình khác Các tiểu trình tham chiếu đến không gian địa tiến trình khác, trừ tiến trình khác đưa phần không gian địa riêng phần nhớ chia sẻ Ngồi khơng gian địa riêng nhiều tiểu trình, tiến trình cịn có định danh an toàn danh sách điều khiển đối tượng file, section nhớ chia sẻ nhiều đối tượng đồng là: mutexe, event, semaphore (sự đánh tín hiệu cờ) Điều minh họa hình I.5.3.b Bộ nhớ ảo (Virtual Memory) windows 2000 Windows 2000 cài đặt hệ thống nhớ ảo dựa khơng gian địa 32 bít Ba hai bít địa ảo chuyển thành 4GB nhớ ảo Windows 2000 dùng nửa thấp 4GB cấp cho tiến trình, nửa cịn lại dành riêng cho hệ điều hành, phần bảo vệ hệ điều hành Sự ánh xạ nửa thấp thay đổi để tương ứng với tiến trình thực hiện, thay đổi nửa cao phù hợp với nhớ ảo hệ điều hành Nhớ lại rằng, không gian địa ảo tiến trình tập địa có sẵn cho tiểu trình tiến trình sử dụng Bộ nhớ ảo cung cấp nhìn logic nhớ, nhờ mở rộng sức mạnh lưu trữ tiểu trình nhớ vật lý Trong trình hoạt động hệ thống, với giúp đỡ phần cứng, trình biên dịch ánh xạ, trình quản lý nhớ chuyển địa ảo thành địa vật lý, nơi liệu lưu trữ thực tế Bằng cách điều khiển bảo vệ ánh xạ, hệ điều hành đảm bảo tiến trình riêng lẻ khơng làm hỏng tiểu trình khơng ghi đè lên liệu hệ điều hành Hình vẽ 1.11 sau cho thấy có trang ảo liền kề ánh xạ thành trang không liền kề nhớ vật lý Bộ nhớ ảo Bộ nhớ V.lý Hình 1.11: Bộ nhớ ảo nhớ Vật lý Đa số hệ thống có nhớ vật lý nhỏ tổng số nhớ ảo mà tiến trình cần sử dụng thực hiên, GB GB cho tiến trình Khi điều xảy trình quản lý nhớ di chuyển nội dung vài trang nhớ đĩa, để lấy không gian trang trống sử dụng cho tiến trình khác cho hệ điều hành Khi tiểu trình truy cập đến trang địa ảo mà nội dung trang bị đưa đĩa phận quản lý nhớ ảo nạp thông tin trở lại nhớ từ đĩa Các ứng dụng không cần thay đổi điều để phù hợp với phân trang, phần cứng hỗ trợ phép trình quản lý nhớ thực phân trang mà không cần hiểu biết trợ giúp tiến trình tiểu trình I.5.3.c Đa xử lý đối xứng (SMP: Symmetric Multiprocessing) Đa tác vụ (multitasking) kỹ thuật hệ điều hành dùng để chia sẻ processor đơn cho nhiều tiểu trình thực Khi máy tính có nhiều processor thực hai tiểu trình đồng thời Nhưng ngược lại hệ điều hành đa tác vụ thực đa tiểu trình thời điểm, hệ điều hành đa xử lý thực tế làm điều đó, thực tiểu trình processor Một mục tiêu thiết kế hệ điều hành Windows NT làm cho NT chạy tốt hệ thống máy tính multiprocessor Windows 2000 hệ điều hành SMP Nó khơng có processor master, hệ điều hành tiểu trình người sử dụng chia sẻ processor Ngoài ra, tất processor chia sẻ không gian nhớ riêng Đây mô hình tương phản với mơ hình đa xử lý bất đối xứng (ASMP: asymmetric multiprocisor), mơ hình hệ điều hành chạy processor riêng, processor lại dùng để chạy tiểu trình người sử dụng Số processor sử dụng phụ thuộc vào phiên Windows 2000 sử dụng Con số lưu trữ Registry khoá: HKLM\SYSTEM\CurrentControlSet\Control\Session\Manager\LicensedPro cessor Để chạy tốt hệ thống SMP hệ điều hành Windows 2000 phải thiết kế cho phải tuân thủ cách nghiêm ngặt nguyên tắc sau đây, nguyên tắc hệ điều hành Multiprocessor: • Có khả chạy mã hệ điều hành processor có sẵn chạy multiprocessor thời điểm • Đa tiểu trình thực tiến trình đơn, tiểu trình thực đồng thời processor khác • Cho phép thành phần khác hệ thống device driver, server process chạy tốt hệ thống multiprocessor I.6.4 Kiến trúc Windows 2000 Kernel Mode & User Mode Để bảo vệ hệ điều hành tránh truy cập và/hoặc thay đổi bất hợp lệ chương trình ứng dụng người sử dụng, Windows 2000 sử dụng hai chế độ xử lý truy cập: Kernel mode User mode Các chương trình ứng dụng người sử dụng chạy user mode, dịch vụ hệ thống chương trình điều khiển thiết bị hệ điều hành chạy kernel mode Kernel mode đến chế độ việc thực processor mà có tồn quyền truy cập đến tất hệ thống nhớ tất thị CPU Trong cấu trúc phần mềm hệ điều hành cung cấp mức đặc quyền cao so với mức đặc quyền chương trình ứng dụng người sử dụng Processor cung cấp sở cần thiết để người thiết kế hệ điều hành đảm bảo ứng dụng phá vỡ trạng thái ổn định hệ thống làm hỏng Các tiểu trình user mode thực không gian địa nhớ bảo vệ, thành phần user mode sở hữu khơng gian địa tiến trình riêng Trong Windows 2000 khơng cung cấp bảo vệ không gian nhớ riêng sử dụng thành phần chạy kernel mode Trong tuyên bố khác, kernel mode, mã hệ điều hành chương trình điều khiển thiết bị hồn tồn truy cập đến khơng gian nhớ hệ thống vượt qua giám sát an toàn Windows 2000 để truy cập đến đối tượng Bởi phần lớn mã hệ điều hành Windows 2000 chạy kernel mode, thành phần quan trọng hệ điều hành chạy kernel mode thiết kế kiểm tra cẩn thận để đảm bảo khơng vi phạm đến an tồn hệ thống Chú ý: Kiến trúc processor Intel x86 định nghĩa cấp/ vòng đặc quyền truy cập (Privilege levels/ Rings), để bảo vệ code data hệ thống, tránh ghi đè (overwrite) có chủ ý (maliciously) khơng chủ ý (inadvertently) code có cấp đặc quyền truy cập thấp Windows 2000 sử dụng cấp 0/ vòng cho Kernl mode cấp 3/ vòng cho Uer mode Nguyên nhân mà Windows 2000 sử dụng có cấp vài kiến trúc phần cứng trước đó, chẳng hạn Compaq Alpha Silicon Graphics, cài đặc cấp đặc quyền truy cập Kiến trúc Windows 2000 Hình vẽ 1.12 sau cho ta thấy kiến trúc đơn giản hoá Windows 2000 System Support Processes ServiceProcesses UserApplicatioes EnvironmentSubsystemÐ Subsystem DLLs User mode Kernel mode ExecutiveKernel Device DriversHard Abstraction Layer WindowsAnd Graphics Hình 1.12: Kiến trúc đơn giản Windows 2000 Hình vẽ cho ta thấy kiến trúc hệ điều hành Windows 2000 chia thành hai phần: User mode Kernel mode User mode bao gồm thành phần: System support processes, Service Processes, User applications, Environment subsystems, thành phần sở hữu khơng gian địa tiến trình riêng Các thành phần User mode: • System support processes (các tiến trình hỗ trợ hệ thống): Như tiến trình logon, quản lý Session, thành phần dịch vụ Windows 2000, khơng khởi động thành phần Service Control Manager Service processes (các tiến trình dịch vụ): Đó dịch vụ chủ Win32, dịch Task Scheduler Spooler, cungc ứng dụng server Windows 2000 Microsoft SQL Server, Exchange Server thành phần chạy dịch vụ • User applications (các ứng dụng người sử dụng): Nó năm loại sau: Win32, Windows 3.1, MS_DOS, POSIX, OS/2 1.2 • Environment subsystems (các hệ thống mơi trường): đưa dịch vụ nguyên thuỷ hệ điều hành, ứng dụng người sử dụng thông qua tập hàm gọi được, cung cấp môi trường hệ điều hành cho ứng dụng Windows 2000 đưa ba hệ thống môi trường: Win32, POSIX OS/2, Win32 hệ thống đặc biệt nhất, Windows 2000 chạy khơng có nó, phải ln trạng thái chạy sau hệ thống khởi động POSIX OS/2 cấu hình khởi tạo cần Các ứng dụng viết hệ điều hành khác chạy Windows 2000 nhờ sử dụng environment subsystem • Subsystem DLLs (hệ thống thư viện liên kết động): Hình cho thấy Windows 2000 ứng dụng người sử dụng gọi trực tiếp dịch vụ nguyên thủy hệ điều hành, mà chúng phải thơng qua nhiều DLL Vai trị Subsystem DLL chuyển yêu cầu gọi hàm vào bên dịch vụ hệ thống Windows 2000 Các thành phần Kernel mode: • Windows 2000 Executive: Chứa dịch vụ sở hệ điều hành, là: quản lý nhớ, quản lý tiến trình tiểu trình, quản lý an tồn hệ thống, quản lý I/O, thực việc truyền thơng liên tiến trình • Windows 2000 Kernel: Bao gồm chức cấp thấp hệ điều hành là: lập lịch tiểu trình, đồng cho hệ thống multiprocessor Nó cung cấp tập thường trình đối tượng sở mà Executive sử dụng để cài đặt chức cấp cao • Device drivers (các trình điều khiển thiết bị): Bao gồm hai: điều khiển thiết bị phần cứng điều khiển hệ thống file mạng Điều khiển thiết bị phần cứng có nhiệm vụ chuyển lời gọi hàm I/O từ phía người sử dụng thành yêu cầu I/O thiết bị phần cứng cụ thể • HAL: Hardware Abstraction Layer (lớp phần cứng trừu tượng): Lớp làm trừu tượng hoá chi tiết phần cứng bên PC, làm cho Windows 2000 Server tương thích với nhiều kiến trúc phần cứng khác Nó cho phép Windows 2000 chạy vi xử lý khác Intel Alpha, mà khơng cần trì version khác Windows 2000 Execute HAL bảo vệ tất phần cứng hỗ trợ cụ thể cần cho thành phần hệ thống tất phần cứng hỗ trợ nềm cụ thể HAL cài đặt DLL đóng vai trị giao diện thành phần phần cứng phần mềm • Window Manager and Graphical Device Interface (GDI): Window Manager GDI sử dụng để quản lý hệ thống hiển thị Window Manager bảo vệ hình nhận lệnh từ thiết bị nhập Mouse bàn phím GDI điều khiển việc vẽ thực thao tác đồ hoạ với giúp đỡ chức khác định nghĩa trước Sau tìm hiểu rõ số thành phần kiến trúc hệ điều hành Windows 2000: Environment Subsystem Subsystem DLL: Vai trò hệ thống môi trường đưa vài tập sở dịch vụ hệ thống Windows 2000 executive cho ứng dụng Mỗi hệ thống cung cấp truy cập đến tập khác dịch vụ nguyên thủy Windows 2000 Từ ứng dụng xây dựng hệ thống gọi đến ứng dụng xây dựng hệ thống khác Các lời gọi hàm lẫn lộn hệ thống Tức ứng dụng POSIX gọi dịch vụ đưa hệ thống POSIX, ứng dụng Win32 gọi dịch vụ đưa hệ thống Win32 Như biết ứng dụng người sử dụng gọi trực tiếp dịch vụ hệ thống Windows 2000 mà phải thông qua nhiều hệ thống DLL Các hệ thống DLL Win32 kernel32.dll, Advapi32.dll, User32.dll Gdi32.dll, cài đặt hàm Win32 API, để ứng dụng người sử dụng gọi thơng qua tập hàm Khi ứng dụng gọi hàm hệ thống DLL, ba trường hợp sau xảy ra: • Hàm cài đặt hồn tồn hệ thống DLL Nói cách khác khơng có thơng điệp gởi tới tiến trình Vai trị hệ thống mơi trường, khơng có dịch vụ hệ thống Windows 2000 executive gọi Hàm thực user mode kết trả cho chương trình gọi • Hàm yêu cầu nhiều lời gọi đến Windows 2000 executive Ví dụ hàm Win32 ReadFile WriteFile gọi phải gọi đến dịch vụ hệ thống I/O NtReadFile NtWriteFile Windows 2000 • Hàm yêu cầu vài công việc để thực tiến trình,.của hệ thống mơi trường Các tiến trình hệ thống mơi trường chạy user mode, chịu trách nhiệm trì trạng thái ứng dụng client chạy điều khiển Trong trường hợp client/server yêu cầu tạo hệ thống môi trường qua thông điệp gởi tới hệ thống để thực vài thao tác Hệ thống DLL đợi trả lời trước • • trả cho ứng dụng gọi Một vài hàm kết hợp trường trên, hàm Win32: CreateProcess CreateThread Tập tin Ntdll.Dll hệ thống đặc biệt, hỗ trợ thư viện cho việc sử dụng hệ thống DLL Nó chứa hai loại hàm sau: Dịch vụ hệ thống gởi đến dịch vụ hệ thống Windows 2000 executive Các hàm hỗ trợ bên sử dụng hệ thống con, hệ thống DLL hàm nguyên thủy điển hình khác Các hàm nhóm cung cấp giao diện để Windows 2000 executive gọi từ user mode Có 200 hàm hàm truy cập thơng qua Win32 API Ntdll chứa hàm hỗ trợ image loader, heap manager hàm truyền thơng tiến trình Win32 Executive: Windows 2000 executive lớp Ntoskrnl.exe (kernel lớp thấp) Executive bao gồm hàm sau: • Các hàm đưa gọi từ user mode Đây hàm gọi đưa qua Ntdll Hầu hết dịch vụ truy cập thông qua hàm Win32 API API Vai trò hệ thống mơi trường khác • Các hàm gọi từ kernel mode, đưa cung cấp in Windows 2000 DDK Windows 2000 Installable File System (IFS) Kit • Các hàm đưa gọi từ kernel mode khơng giới thiệu Windows 2000 DDK IFS Kit • Các hàm định nghĩa không đưa Đây hàm hỗ trợ bên trong, gọi phạm vi Ntoskrnl Windows 2000 Executive chứa thành phần quan trọng sau đây: • Configuration Manager (quản lý cấu hình): chịu trách nhiệm cài đặt quản lý Registry hệ thống • I/O Manager (quản lý I/O): Thành phần chuyển lệnh đọc/ ghi user mode đến việc đọc/ghi IRP (I/O Request Packets) Nó gồm có: hệ thống file, điều khiển thiết bị, quản lý nhớ cache, quản lý nhớ ảo • InterProcess Communication - IPC Manager (quản lý truyền thơng liên tiến trình): Quản lý IPC tạo liên kết client server Environment subsystem đóng vai trị client Executive đóng vai trị server Nó tạo từ thành phần: Remote Procedure Call - RPC: giữ thông tin kết nối client server máy tính khác Local Procedure Call - RPC: giữ thông tin kết nối client server máy tính • Security Manager (quản lý an toàn): Đây thành phần tạo nên an toàn hệ thống cách bắt buộc sách an tồn máy tính cục • Plug and Play Manager (quản lý plug and play): Plug and play theo dõi hoạt động thời điểm Boot thiết bị plug and play tương tác với HAL, điều khiển thiết bị Executive Nó xác định điều khiển bus thực việc cấu hình đếm Nó xác định điều khiển thiết bị thêm vào khởi tạo thiết bị • Process and Thread Manager (quản lý tiến trình tiểu trình): Tạo kết thúc tiến trình tiểu trình Hỗ trợ tiến trình tiểu trình cài đặt bên Windows 2000 kernel • Và số thành phần khác như: Power manager (quản lý nguồn); Cache manager (quản lý cache); Virtual memory manager (quản lý nhớ ảo), … • Ngồi executive cịn chứa bốn nhóm hàm hỗ trợ mà sử dụng thành phần executive liệt kê Sau bốn loại hàm hỗ trợ: • Object Manager (quản lý đối tượng): Tạo, quản lý, xoá đối tượng Windows 2000 executive loại liệu trừu tượng mà sử dụng để đến tài nguyên Windows 2000 như: tiến trình, tiểu trình, đối tượng đồng khác • LPC facility: Chuyển thơng điệp tiến trình client tiến trình server máy tính LPC có tính mềm dẻo, version tối ưu Remote Function Call (RPC) • Một tập hàm thư viện run-time là: xử lý string, thực phép tính, chuyển đổi kiểu liệu xử lý cấu trúc an tồn • Executive support routine: cấp phất nhớ hệ thống, khoá truy cập nhớ đối tượng đồng Kernel: Kernel bao gồm tập hàm Ntoskrnl.exe mà cung cấp kỹ thuật bản, điều phối tiểu trình đồng dịch vụ, sử dụng thành phần executive, hỗ trợ cho kiến trúc phần cứng cấp thấp kiến trúc processor khác Đa số mã kernel viết C, số thành phần quan can thiệp sâu vào phần cứng viết assembly Một số hàm kernel đưa DDK, thành phần cần thiết cho việc cài đặt trình điều khiển thiết bị Hardware Abstraction Layer (HAL): Như biết mục tiêu thiết kế Windows 2000 làm cho dễ dàng tương thích phần cứng khác HAL thành phần chủ chốt tạo nên tương thích HAL modun kernel mode nạp (Hal.dll) mà cung cấp giao diện cấp thấp để Windows 2000 chạy phần cứng khác HAL làm ẩn chi tiết phần cứng, như: giao diện I/O, điều khiển ngắt chế truyền thông processor hệ thống multiprocessor, với hàm kiến trúc cụ thể máy phụ thuộc Trong Windows 2000 có nhiều tập tin Hal*.dll, tập tin hỗ trợ cho hệ thống máy tính Hal.dll hỗ trợ cho PC chuẩn, Halmps.dll hỗ trợ cho PC Multiprocessor, … Device Drivers: Các Device Driver (*.sys) modun kernel, giao diện thành phần quản lý I/O phần cứng có liên quan Các device driver khơng thao tác trực tiếp phần cứng, gọi hàm HAL để giao tiếp với phần cứng Windows 2000 có loại Divice Driver sau đây: • Các hardware device driver thao tác phần cứng, sử dụng HAL, để ghi/đọc thiết bị vật lý mạng Loại bao gồm: điều khiển bus, điều khiển thiết bị giao tiếp với người sử dụng, điều khiển thiết bị lưu trữ khối, … • Các file system driver điều khiển mà Windows 2000 dùng để truy cập file hệ thống … Kernel Mode Drivers: Kernel Mode Drivers cài đặt thành phần, chứa tất chức cần thiết Nó gồm có: WMD (Windows Drive Model) driver, với nhiều driver để hỗ trợ cho yêu cầu thiết bị cụ thể • I.7 Hệ điều hành Linux Linux hệ điều hành miễn phí xây dựng từ hệ điều hành Unix Nó phát triển Linus Torvalds, sinh viên trường Đại học Hensinki Linus chịu trách nhiệm tạo hệ thống kernel Kernel phần lõi hệ điều hành, chịu trách nhiệm thực tác vụ hệ thống Linux tập phần mềm mà bao gồm kernel thành phần khác để trở thành hệ điều hành hoàn chỉnh Một nguyên nhân làm cho Linux nhiều người biết đến cung cấp miễn phí với mã nguồn mở Hình vẽ 1.13 cho thấy cấu trúc hệ điều hành Unix Hình vẽ cho thấy hệ điều hành Linux chia thành cấp: User Level (cấp người sử dụng) Kernel Level (cấp lõi) Kernel cấp đặc quyền, giới hạn kernel hệ thống Kernel sử dụng tất lệnh vi xử lý, điều khiển toàn bộ nhớ truyền thông trực tiếp đến tất thiết bị ngoại vi User cấp khơng có đặc quyền, tất chương trình người sử dụng phải hoạt động cấp Ở tiến trình khơng thể thực tất lệnh vi xử lý, truy cập trực tiếp vào hệ thống phần cứng quyền sử dụng khơng gian nhớ cấp phát Các tiến trình thực thao tác mơi trường riêng mà khơng làm ảnh hưởng đến tiến trình khác bị ngắt lúc Các tiến trình hoạt động User Level truy cập trực tiếp tài ngun hệ thống mà phải thơng qua giao diện lời gọi hệ thống (System call Interface) Một lời gọi hệ thống yêu cầu gởi từ tiến trình chương trình người sử dụng đến User Programs Kernel, Kernel xử lý yêu cầu chế độ kernel sau trả kết lại cho tiến trình để tiến trình tiếp tục thực Trap Libraries User Level Kernel Level System Call Interface File Subsystem Buffer Cache Inter ProcessorCommunication ProcessControlSubsystem Scheduler MemoryManagement Character Block Device Drivers Hardware Control Kernel Level Hardware Level HARDWARE Hỗnh 1.13: Cáúu trục ca hãû âiãưu hnh Linux Sau vài đặc điểm Linux: Miễn phí (Free): Linux hệ điều hành cung cấp miễn phí Internet, khơng phải trả chi phí cho việc download Linux cung cấp với phâìn mềm chạy • Mã nguồn mở (Open Source): Điều có nghĩa người sử dụng không sử dụng hệ điều hành thực chương trình mà cịn xem sửa đổi mã nguồn nó, để phát triển theo mục đích cụ thể người sử dụng • u cầu phần cứng (Hardware): Linux chạy hầu hết phần cứng có, hoạt động vi xử lý: 386, 486, Pentium MMX, Pentium II, Sparc, Dec Alpha Motorola 68000 • Đa tác vụ (Multi-Tasking): Linux hệ điều hành đa tác vụ, tức người sử dụng chạy nhiều chương trình thời điểm Mỗi tác vụ tiến trình Theo cách người sử dụng không cần phải đợi cho tiến trình kế thúc hợp lệ để • khởi động tiến trình khác Đa người sử dụng (Multi-User): Điều có nghĩa có nhiều người sử dụng sử dụng hệ thống thời điểm Khái niệm multi user xuất phát trực tiếp từ khía cạnh multi-tasking Hệ thống điều khiển nhiều người sử dụng thời điểm giống cách mà điều khiển nhiều cơng việc • Hỗ trợ đa vi xử lý (Multi Processor Support): Linux điều hành hệ thống máy tính có nhiều vi xử lý • Máy chủ web (Web Server): Linux sử dụng để chạy web server, đáp ứng giao thức ứng dụng HTTP FTP • Hỗ trợ mạng TCP/IP (TCP/IP Networking Support): Hỗ trợ mạng TCP/IP xây dựng kernel Linux Linux hệ điều hành mạng tốt Nó bao gồm chương trình là: Telnet, Ftp, Rlogin, Rsh nhiều chương trình khác • Hỗ trợ lập trình (Programming Support): Linux cung cấp hỗ trợ lập trình cho Fortran, C, C++, Tcl/Tk, Perl nhiều ngơn ngữ lập trình khác • Độ an tồn cao (High Level Security): Một thuận lợi Linux cung cấp an toàn cao cấp cách sử dụng xác thực người sử dụng Nó lưu trữ password dạng thức mã hoá, password mã hố khơng thể giải mã Linux bao gồm hệ thống file an tồn, mở rộng từ hệ thống file tồn • ... chia sẻ th? ?i gian mở rộng logic hệ ? ?i? ??u hành đa chương thường g? ?i hệ ? ?i? ??u hành đa nhiệm (Multitasking) Hệ ? ?i? ??u hành Windows 9x/NT hệ ? ?i? ??u hành đa nhiệm I. 3.2.d Hệ ? ?i? ??u hành đa vi xử lý Là hệ ? ?i? ??u... niệm hệ ? ?i? ??u hành đa chương đ? ?i Hệ ? ?i? ??u hành đa xử lý hệ ? ?i? ??u hành mạng phát triển dựa hệ ? ?i? ??u hành đa nhiệm Hệ ? ?i? ??u hành th? ?i gian thực đ? ?i để khắc phục hạn chế hệ ? ?i? ??u hành theo lô ? ?i? ??u khiển hệ. .. m? ?i trường giao tiếp chương trình ngư? ?i sử dụng hệ ? ?i? ??u hành I. 3 Hệ ? ?i? ??u hành phân lo? ?i hệ ? ?i? ??u hành I. 3.1 Hệ ? ?i? ??u hành gì? Khó có kh? ?i niệm hay định nghĩa xác hệ ? ?i? ??u hành, hệ ? ?i? ??u hành