Giáo trình hướng dẫn phân tích khái niệm tổng quan về hệ điều hành và quản lý tài nguyên của hệ thống p7 pptx

5 482 0
Giáo trình hướng dẫn phân tích khái niệm tổng quan về hệ điều hành và quản lý tài nguyên của hệ thống p7 pptx

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

Thông tin tài liệu

 Win32k.sys: Bộ phận kernel mode của hệ thống con Win32.  Ntdll.dll: Hỗ trợ sự điều phối để thực hiện các hàm.  Kernel32.dll, Advapi32.dll, User32.dll, Gdi32.dll: Các file chính của hệ thống con Win32 DLLs. I.6.6. Một số đặc tính của Windows 2000  Windows 2000 so với các Windows khác:  Windows 2000 hỗ trợ các hệ thống multiprocessor các windows khác không hỗ trợ điều này.  Windows 2000 hỗ trợ hệ thống file an toàn các windows khác không có hệ thống file an toàn.  Windows 2000 là hệ điều hành 32 bít đầy đủ, nó không chứa các mã 16 bít, nó hỗ trợ các mã khác để chạy các ứng dụng windows 16 bít. Các windows khác chứa một lượng lớn các mã 16 bít cũ từ các phiên bản trước. Đây là điểm khác biệt lớn của windows 2000 so với windows 3.1 và MS_DOS.  Windows 2000 cung cấp một tùy chọn để chạy các ứng dụng windows 16 bít, mà mỗi ứng dụng sở hữu một không gian địa chỉ riêng. Trong các hệ điều hành windows khác các ứng dụng windows 16 bít luôn chạy trong không gian địa chỉ bộ nhớ được chia sẻ, mà ở đó các ứng dụng có thể bị làm hỏng bởi các ứng dụng khác.  Bộ nhớ được chia sẻ trong Windows 2000 là chỉ nhìn thấy khi các tiến trình ánh xạ đến cùng một vùng nhớ được chia sẻ, trong Win32 API một vùng bộ nhớ được chia sẻ được gọi là file ánh xạ. Trong các hệ điều hành windows khác tất cả bộ nhớ được chia sẻ là được nhìn thấy và được ghi bởi tất cả các tiến trình. Do đó bất kỳ một tiến trình nào cũng có thể ghi đến bất kỳ file ánh xạ.  Trong các hệ điều hành windows khác một vài trang (page) quan trọng của hệ điều hành trên bộ nhớ là có thể được ghi từ user mode, vì thế một ứng dụng của người sử dụng có thể là hỏng hệ thống (ghi đè lên hệ điều hành). Điều này không xảy ra đối với hệ điều hành Windows 2000.  Đặc tính của 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 các thiết bị và dịch vụ tối thiểu nhất. Nó cũng hỗ trợ chức năng Plug-n-Play.  Windows 2000 server hỗ trợ các ứng dụng trên nền MS_DOS, các ứng dụng 16/32 bít trên nền Windows, và nó cũng đưa ra các cơ chế để bảo vệ các ứng dụng khi các ứng dụng này hoạt động trên bộ nhớ. Click to buy NOW! P D F - X C h a n g e V i e w e r w w w . d o c u - t r a c k . c o m Click to buy NOW! P D F - X C h a n g e V i e w e r w w w . d o c u - t r a c k . c o m  Windows 2000 server cung cấp tiện ích Backup, chức năng Automated System Recorver, để backup dữ liệu, khôi phục dữ liệu khi dữ liệu tình cờ bị mất, recover và restore hệ thống trong trường hợp lỗi nghiệm trọng xảy ra trên đĩa cứng.  Windows 2000 server cung cấp các công cụ cấp cao cho các hệ thống cần có độ ổn định và khả năng chịu đựng lỗi cao.  Windows 2000 server cho phép quản lý 2 hệ thống đĩa: Basic disk và Dynamic Disk. Nó cũng hỗ trợ các hệ thống tập tin: FAT, NTFS, CDFS.  Windows 2000 server hỗ trợ các hệ thống Symmetric Multiprocessing, có từ 4 đến 8 processor. Nó cũng có thể quản lý được từ 4GB đến 8GB bộ nhớ vật lý.  Windows 2000 advanced server hỗ trợ các hệ thống Clusters. Cluster là một nhóm các server được kết nối để cùng làm việc với nhau, nếu một server trong cluster bị hỏng thì một server khác trong cùng cluster sẽ được thay thế để hoàn thành tác vụ mà server đó (server bị hỏng) đang thực hiện.  Windows 2000 Datacenter Server hỗ trợ 32-way SMP nhờ OEM (original equipment manufacturer) và có khả năng quản lý đến 64 GB bộ nhớ vật lý. Đặc tính này giúp các server Windows 2000 trở thành các trung tâm dữ liệu (database centric), các kho dữ liệu lớn (data warehouses) phục vụ cho các Internet Service Provider và host Web site. I.6.7. Một số khái niện trong Windows 2000 I.5.3.a. Tiến trình (Process) và tiểu trình (Thread)  Tiến trình: Người sử dụng khó có thể phân biệt sự khác nhau giữa chương trình và tiến trình, mặc dù nó có các sự khác nhau rất cơ bản. Một chương trình là một dãy tĩnh các chỉ thị, trong khi đó tiến trình là nơi chứa một tập các tài nguyên được sử dụng bởi các tiểu trình mà các tiểu trình này thực hiện một đoạn mã đặc biệt nào đó của chương trình. Các tiến trình của Windows 2000 bao gồm:  Một không gian địa chỉ ảo riêng, đó là một tập các địa chỉ bộ nhớ ảo mà các tiến trình có thể sử dụng.  Một chương trình có thể thực hiện được, mà nó định rõ bất kỳ một code và data ban đầu nào và nó được ánh xạ vào không gian địa chỉ của tiến trình.  Một danh sách mở các tài nguyên hệ thống khác nhau mà tiến trình sử dụng như các semaphore (sự đánh tín hiệu bằng cờ), các cổng giao tiếp tiến trình, các file, … , các tài nguyên này được truy cập bởi tất cả các tiểu trình trong tiến trình.  Một ngữ cảnh an toàn (security context), được gọi là thẻ truy cập Click to buy NOW! P D F - X C h a n g e V i e w e r w w w . d o c u - t r a c k . c o m Click to buy NOW! P D F - X C h a n g e V i e w e r w w w . d o c u - t r a c k . c o m (access token), nó định danh người sử dụng, các nhóm an toàn, và các cấp đặc quyền có liên quan với tiến trình.  Một định danh duy nhất, được gọi là Process ID.  Có ít nhất một tiểu trình.  Tiểu trình: Một tiểu trình là một thực thể trong tiến trình mà hệ điều hành có thể lập lịch để nó thực hiện, không có nó thì các tiến trình của nó không thể thực hiện được. Một tiểu trình bao gồm các thành phần cơ bản sau:  Nội dung của các thanh ghi trong CPU miêu tả trạng thái của processor.  Hai Stack, một cho tiểu trình sử dụng khi thực hiện trong kernel mode và một cho tiểu trình sử dụng trong user mode.  Một vùng lưu trữ riêng được gọi là TLS (theard local storage) để sử dụng bởi các hệ thống Connection, các thư viện run-time, và các DLL.  Một định danh duy nhất, được gọi là Theard ID.  Đôi khi các tiểu trình cũng sở hữu một ngữ cảnh an toàn riêng, nó thường được sử dụng bởi các ứng dụng server đa tiểu trình. Các thanh ghi, các stack và các vùng lưu trữ riêng được gọi là ngữ cảnh của tiểu trình. Bởi vì các thông tin này là khác nhau cho mỗi kiến trúc máy khác nhau mà Windows 2000 chạy trên nó. Cấu trúc Process Object Access token VAD VAD VAD Thread Thread Thread Access token Object Object Handle Table Virtual Address Descriptors Hình 1.10: Các tiến trình và tài nguyên của nó Click to buy NOW! P D F - X C h a n g e V i e w e r w w w . d o c u - t r a c k . c o m Click to buy NOW! P D F - X C h a n g e V i e w e r w w w . d o c u - t r a c k . c o m ngữ cảnh này được trả về bởi hàm Win32 API GetThreardContexxt. Mặc dù các tiểu trình có một ngữ cảnh thực hiện riêng, nhưng mỗi tiểu trình trong phạm vi một tiến trình đều chia sẻ không gian địa chỉ ảo của tiến trình, điều này có nghĩa rằng tất cả các tiểu trình trong một tiến trình có thể ghi đến hoặc đọc từ bộ nhớ của tiểu trình khác. Các tiểu trình không thể tham chiếu đến không gian địa chỉ của các tiến trình khác, trừ khi tiến trình khác đó đưa ra một phần không gian địa chỉ riêng của nó như là một phần bộ nhớ được chia sẻ. Ngoài không gian địa chỉ riêng và một hoặc nhiều tiểu trình, mỗi tiến trình còn có một định danh an toàn và một danh sách điều khiển các đối tượng như là các file, các section bộ nhớ được chia sẻ hoặc một hoặc nhiều đối tượng đồng bộ như là: các mutexe, các event, các semaphore (sự đánh tín hiệu bằng cờ). Điều này được minh họa ở hình trên. I.5.3.b. Bộ nhớ ảo (Virtual Memory) trong windows 2000 Windows 2000 cài đặt một hệ thống bộ nhớ ảo dựa trên một không gian địa chỉ 32 bít. Ba hai bít của địa chỉ ảo này chuyển thành 4GB bộ nhớ ảo. Windows 2000 dùng nửa thấp của 4GB này cấp cho các tiến trình, nửa còn lại dành riêng cho hệ điều hành, phần này được bảo vệ bởi chính hệ điều hành. Sự ánh xạ của nửa thấp thay đổi để tương ứng với tiến trình đang thực hiện, nhưng sự thay đổi của nửa cao luôn phù hợp với bộ nhớ ảo của hệ điều hành. Nhớ lại rằng, không gian địa chỉ ảo của tiến trình là một tập các địa chỉ có sẵn cho các tiểu trình của tiến trình sử dụng. Bộ nhớ ảo cung cấp một cái nhìn logic của bộ nhớ, nhờ đó nó mở rộng được sức mạnh lưu trữ tiểu trình của bộ nhớ vật lý. Trong quá trình hoạt động của hệ thống, với sự giúp đỡ của phần cứng, trình biên dịch hoặc các ánh xạ, của trình quản lý bộ nhớ sẽ chuyển địa chỉ ảo thành địa chỉ vật lý, nơi dữ liệu được lưu trữ thực tế. Bằng cách điều khiển sự bảo vệ và sự ánh xạ, hệ điều hành có thể đảm bảo rằng một tiến trình riêng lẻ không làm hỏng các tiểu trình và không ghi đè lên dữ liệu của hệ điều hành. Hình vẽ 1.11 sau đây cho thấy có 3 trang ảo liền kề được ánh xạ thành 3 trang không liền kề trong bộ nhớ vật lý. Bộ nhớ ảo Bộ nhớ V.lý Click to buy NOW! P D F - X C h a n g e V i e w e r w w w . d o c u - t r a c k . c o m Click to buy NOW! P D F - X C h a n g e V i e w e r w w w . d o c u - t r a c k . c o m Hình 1.11: Bộ nhớ ảo và bộ nhớ Vật lý Đa số các hệ thống đều có bộ nhớ vật lý nhỏ hơn tổng số bộ nhớ ảo mà các tiến trình cần sử dụng khi thực hiên, 2 GB hoặc 3 GB cho mỗi tiến trình. Khi điều này xảy ra thì trình quản lý bộ nhớ sẽ di chuyển một nội dung của một vài trang bộ nhớ ra đĩa, để lấy không gian trang trống này sử dụng cho các tiến trình khác hoặc cho chính hệ điều hành. Khi một tiểu trình truy cập đến một trang địa chỉ ảo mà nội dung của trang này đã bị đưa ra đĩa thì bộ phận quản lý bộ nhớ ảo sẽ nạp thông tin này trở lại bộ nhớ từ đĩa. Các ứng dụng không cần thay đổi bất kỳ một điều gì để phù hợp với sự phân trang, bởi vì phần cứng đã hỗ trợ để cho phép trình quản lý bộ nhớ thực hiện sự phân trang mà không cần hiểu biết hoặc sự trợ giúp của các tiến trình hoặc các tiểu trình. I.5.3.c. Đa xử lý đối xứng (SMP: Symmetric Multiprocessing) Đa tác vụ (multitasking) là một kỹ thuật của hệ điều hành dùng để chia sẻ một processor đơn cho nhiều tiểu trình đang thực hiện. Khi máy tính có nhiều hơn một processor thì nó có thể thực hiện hai tiểu trình đồng thời. Nhưng ngược lại hệ điều hành đa tác vụ chỉ có vẻ như thực hiện đa tiểu trình tại cùng một thời điểm, hệ điều hành đa xử lý thực tế làm được điều đó, thực hiện một tiểu trình trên mỗi processor của nó. Một trong những mục tiêu thiết kế của hệ điều hành Windows NT là làm cho NT chạy tốt trên các hệ thống máy tính multiprocessor. Windows 2000 cũng là hệ điều hành SMP. Nó không có processor master, hệ điều hành cũng như các tiểu trình của người sử dụng đều có thể được chia sẻ trên bất kỳ một processor nào. Ngoài ra, tất cả các processor cũng chỉ chia sẻ một không gian bộ nhớ riêng. Đây là mô hình tương phản với mô hình đa xử lý bất đối xứng (ASMP: asymmetric multiprocisor), trong mô hình này hệ điều hành chạy trên một processor riêng, các processor còn lại chỉ dùng để chạy các tiểu trình của người sử dụng. Số processor sử dụng phụ thuộc vào phiên bản Windows 2000 được sử dụng. Con số này được lưu trữ trong Registry tại khoá: HKLM\SYSTEM\CurrentControlSet\Control\Session\Manager\LicensedPro cessor Để chạy tốt trên một hệ thống SMP thì hệ điều hành Windows 2000 phải được thiết kế sao cho nó phải tuân thủ một cách nghiêm ngặt các nguyên tắc sau đây, đó là các nguyên tắc của một hệ điều hành Multiprocessor:  Có khả năng chạy mã của hệ điều hành trên bất kỳ một processor có sẵn nào và chạy được trên multiprocessor tại cùng một thời điểm. Click to buy NOW! P D F - X C h a n g e V i e w e r w w w . d o c u - t r a c k . c o m Click to buy NOW! P D F - X C h a n g e V i e w e r w w w . d o c u - t r a c k . c o m . hệ điều hành trên bộ nhớ là có thể được ghi từ user mode, vì thế một ứng dụng của người sử dụng có thể là hỏng hệ thống (ghi đè lên hệ điều hành) . Điều này không xảy ra đối với hệ điều hành. thiết kế của hệ điều hành Windows NT là làm cho NT chạy tốt trên các hệ thống máy tính multiprocessor. Windows 2000 cũng là hệ điều hành SMP. Nó không có processor master, hệ điều hành cũng. ngược lại hệ điều hành đa tác vụ chỉ có vẻ như thực hiện đa tiểu trình tại cùng một thời điểm, hệ điều hành đa xử lý thực tế làm được điều đó, thực hiện một tiểu trình trên mỗi processor của nó.

Ngày đăng: 24/07/2014, 18:20

Từ khóa liên quan

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

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

Tài liệu liên quan