Nghiên Cứu Quản Lý Tiến Trình trong Hệ Điều Hành Windows (ĐH Công Nghiệp HN)

Tìm hiểu sâu về quản lý tiến trình trong Windows. Khám phá cách theo dõi, kiểm soát và tối ưu hóa hiệu suất hệ thống qua các tiến trình đang chạy.

Chuyên ngành

Nguyên Lý Hệ Điều Hành

Người đăng

Ẩn danh

Thể loại

Bài Tập Lớn

2017

44
4
0

Phí lưu trữ

30 Point

Tóm tắt

I. Tổng Quan Quản Lý Tiến Trình Windows Tìm Hiểu Chi Tiết

Trong môi trường đa chương trình, hệ điều hành Windows đóng vai trò then chốt trong việc quản lý và điều phối các tiến trình. Điều này không chỉ đảm bảo hiệu suất hệ thống mà còn duy trì tính ổn định và khả năng đáp ứng. Quản lý tiến trình là một thành phần quan trọng trong thiết kế hệ điều hành, cho phép thực hiện nhiều tiến trình đồng thời, cấp phát tài nguyên hiệu quả và hỗ trợ truyền thông liên tiến trình. Hệ điều hành Windows phân biệt rõ ràng giữa tiến trình (liên quan đến quyền sở hữu tài nguyên) và tiểu trình (liên quan đến sự thực hiện chương trình). Các tiến trình này luân phiên giữa trạng thái sử dụng bộ xử lý và trạng thái chờ đợi. Để hiểu rõ hơn về cách Windows quản lý các tiến trình, chúng ta cần đi sâu vào các khái niệm và công cụ liên quan.

Theo Saltzer, tiến trình là một chương trình do một bộ xử lý logic thực hiện. Horning & Rendell định nghĩa tiến trình là một quá trình chuyển từ trạng thái này sang trạng thái khác dưới tác động của hàm hành động. Cần phân biệt rõ chương trình và tiến trình: chương trình là một thực thể tĩnh chứa các chỉ thị, trong khi tiến trình là một thể hiện động của chương trình đang thực thi, bao gồm con trỏ lệnh, stack và không gian địa chỉ. Quản lý tiến trình hiệu quả đòi hỏi sự hiểu biết sâu sắc về kiến trúc và cơ chế hoạt động của hệ điều hành Windows. Việc sử dụng các công cụ như Task Manager WindowsProcess Explorer giúp người dùng và nhà phát triển giám sát và kiểm soát các tiến trình một cách trực quan.

1.1. Các Loại Tiến Trình Trong Hệ Thống Windows

Tiến trình trong hệ thống Windows có thể được chia thành tiến trình tuần tự và tiến trình song song. Tiến trình tuần tự là tiến trình mà điểm khởi tạo là điểm kết thúc của tiến trình trước đó. Tiến trình song song là tiến trình mà điểm khởi tạo nằm ở thân của các tiến trình khác. Tiến trình song song bao gồm: tiến trình độc lập, tiến trình có quan hệ thông tin, tiến trình phân cấp (cha-con) và tiến trình đồng mức. Các loại tiến trình này có đặc điểm và yêu cầu quản lý khác nhau. Tiến trình song song độc lập không có quan hệ thông tin, cần cơ chế bảo vệ dữ liệu. Tiến trình song song có quan hệ thông tin cần cơ chế trao đổi thông tin an toàn. Tiến trình song song phân cấp (tiến trình cha khởi tạo tiến trình con) cần cơ chế cấp phát tài nguyên phù hợp. Tiến trình song song đồng mức cần cơ chế chia sẻ tài nguyên theo nguyên tắc lần lượt.

1.2. Mô Hình Tiến Trình Song Song Giả Lập Trong Windows

Hệ điều hành Windows sử dụng mô hình tiến trình để tạo ra sự song song giả trên các hệ thống chỉ có một bộ xử lý. Chương trình được chia thành nhiều tiến trình, khởi tạo và đưa vào hệ thống. Hệ điều hành cấp phát tài nguyên và đưa các tiến trình sang trạng thái sẵn sàng. Bộ xử lý được cấp cho một tiến trình trong số các tiến trình ở trạng thái sẵn sàng để tiến trình này hoạt động, sau một khoảng thời gian nào đó, bộ xử lý được thu hồi và cấp cho tiến trình sẵn sàng khác. Khoảng thời gian chuyển bộ xử lý giữa các tiến trình là rất nhỏ, tạo cảm giác các tiến trình hoạt động song song, hiện tượng này được gọi là song song giả. Thực chất, việc chuyển bộ xử lý từ tiến trình này sang tiến trình khác là việc điều khiển bộ xử lý để nó thực hiện xen kẽ các chỉ thị bên trong tiến trình bằng cách thay đổi giá trị của con trỏ lệnh.

1.3. Tiểu Trình Và Tiến Trình Đơn Vị Xử Lý Cơ Bản Trong Windows

Tiểu trình là một đơn vị xử lý cơ bản trong hệ thống, hoàn toàn tương tự như tiến trình. Tiểu trình cũng xử lý tuần tự các chỉ thị máy, sở hữu con trỏ lệnh, tập thanh ghi và không gian stack riêng. Một tiến trình có thể bao gồm nhiều tiểu trình. Các tiểu trình trong một tiến trình chia sẻ không gian địa chỉ chung, chia sẻ các biến toàn cục của tiến trình và truy xuất các vùng nhớ stack của nhau. Các tiểu trình chia sẻ thời gian xử lý của bộ xử lý giống như cách của tiến trình, nhờ đó mà các tiểu trình có thể hoạt động song song. Các thao tác lập lịch và điều phối tiến trình của hệ điều hành thực hiện trên cơ sở tiểu trình. Mô hình tiểu trình cho phép có nhiều tiểu trình trong phạm vi một tiến trình đơn, hoạt động trên các hệ thống multiprocessor hoặc uniprocessor.

II. Trạng Thái Tiến Trình Trong Windows Phân Tích Chi Tiết

Trong suốt vòng đời của mình, một tiến trình trong Windows trải qua nhiều trạng thái khác nhau, mỗi trạng thái phản ánh hoạt động hiện tại của tiến trình. Các trạng thái phổ biến bao gồm Ready, Running, Blocked, và Suspend. Hiểu rõ các trạng thái này giúp tối ưu hóa hiệu suất và giải quyết các vấn đề liên quan đến quản lý tài nguyên. Tùy theo hệ điều hành, số lượng và ý nghĩa của các trạng thái có thể khác nhau. Một số hệ điều hành chỉ cho phép tiến trình tồn tại ở một trong hai trạng thái: Not Running và Running, trong khi đa số cho phép tiến trình tồn tại ở một trong ba trạng thái: ready, running, blocked. Các hệ điều hành đa nhiệm còn thiết kế thêm trạng thái Suspend (tạm dừng) để quản lý bộ nhớ hiệu quả hơn. Việc chuyển đổi giữa các trạng thái được điều khiển bởi bộ điều phối tiến trình và các sự kiện hệ thống.

2.1. Tiến Trình Ba Trạng Thái Ready Running Blocked

Đa số các hệ điều hành Windows cho phép tiến trình tồn tại ở một trong ba trạng thái: Ready (sẵn sàng), Running (thực hiện), Blocked (khóa). Trạng thái Ready là trạng thái của một tiến trình đang chờ được cấp bộ xử lý để bắt đầu thực hiện. Trạng thái Running là trạng thái mà tiến trình đang được sở hữu bộ xử lý để hoạt động. Trạng thái Blocked là trạng thái mà tiến trình đang chờ để được cấp phát thêm tài nguyên, để một sự kiện nào đó xảy ra, hay một quá trình vào/ra kết thúc. Quá trình chuyển trạng thái của các tiến trình được mô tả bởi sơ đồ chuyển trạng thái. Bộ phận điều phối tiến trình thu hồi bộ xử lý từ một tiến trình đang thực hiện trong các trường hợp như hết thời gian (time-out), tiến trình mới có độ ưu tiên cao hơn, hoặc tiến trình mới cần thời gian xử lý nhỏ hơn.

2.2. Tiến Trình Bốn Trạng Thái Thêm Suspend Để Quản Lý Bộ Nhớ

Trong môi trường đa nhiệm, việc tổ chức các Queue để lưu các tiến trình chưa thể hoạt động là cần thiết, nhưng nếu tồn tại quá nhiều tiến trình trong Queue, hay chính xác hơn trong bộ nhớ chính, sẽ dẫn đến trình trạng lãng phí bộ nhớ. Để giải quyết vấn đề này, các hệ điều hành đa nhiệm thiết kế thêm trạng thái Suspend (tạm dừng). Trạng thái Suspend là trạng thái của một tiến trình khi nó đang được lưu trữ trên bộ nhớ phụ (đĩa). Đây là các tiến trình đang ở trong trạng thái blocked và/hoặc ready bị hệ điều hành chuyển ra đĩa để thu hồi lại không gian nhớ đã cấp hoặc tài nguyên đã cấp.

2.3. Tiến Trình Năm Trạng Thái Blocked Suspend Ready Suspend

Trong thực tế, hệ điều hành Windows thiết kế 2 trạng thái suspend: một trạng thái suspend dành cho các tiến trình từ blocked chuyển đến, trạng thái này được gọi là blocked-suspend và một trạng thái suspend dành cho các tiến trình từ ready chuyển đến, trạng thái này được gọi là ready-suspend. Trạng thái Ready tiến trình được định vị trong bộ nhớ chính và đang chờ được cấp bộ xử lý để thực hiện. Trạng thái Blocked tiến trình được định vị trong bộ nhớ chính và đang đợi một sự kiện hay một quá trình I/O nào đó. Trạng thái Blocked-suspend tiến trình đang bị chứa trên bộ nhớ phụ (đĩa) và đang đợi một sự kiện nào đó. Trạng thái Ready-suspend tiến trình đang bị chứa trên bộ nhớ phụ nhưng sẵn sàng thực hiện ngay sau khi được nạp vào bộ nhớ chính.

III. Điều Phối Tiến Trình Windows Thuật Toán Mục Tiêu Tối Ưu

Trong môi trường đa nhiệm, điều phối tiến trình là yếu tố then chốt để đảm bảo hiệu suất hệ thống và trải nghiệm người dùng tốt. Bộ phận điều phối tiến trình của Windows có nhiệm vụ xem xét và quyết định khi nào thì dừng tiến trình hiện tại để thu hồi bộ xử lý và chuyển cho tiến trình khác, và khi đã có được bộ xử lý thì chọn tiến trình nào trong số các tiến trình ở trạng thái ready để cấp bộ xử lý cho nó. Điều phối tiến trình và điều độ tiến trình là hai khái niệm khác nhau. Các cơ chế điều phối tiến trình bao gồm điều phối độc quyền và điều phối không độc quyền. Các đặc điểm của tiến trình như thiên hướng Vào/Ra, thiên hướng xử lý, độ ưu tiên, thời gian sử dụng bộ xử lý, và thời gian còn lại cần bộ xử lý đều ảnh hưởng đến quá trình điều phối.

3.1. Cơ Chế Điều Phối Độc Quyền và Không Độc Quyền Trong Windows

Trong công tác điều phối tiến trình, bộ điều phối sử dụng hai cơ chế điều phối: Điều phối độc quyềnĐiều phối không độc quyền. Điều phối độc quyền cho phép tiến trình toàn quyền sử dụng bộ xử lý cho đến khi tiến trình kết thúc xử lý hoặc tự động trả lại bộ xử lý cho hệ thống. Điều phối không độc quyền cho phép bộ phận điều phối tiến trình tạm dừng tiến trình đang xử lý để thu hồi bộ xử lý và cấp cho tiến trình khác. Quyết định điều phối xảy ra khi tiến trình chuyển trạng thái hoặc kết thúc.

3.2. Đặc Điểm Tiến Trình Ảnh Hưởng Đến Quyết Định Điều Phối

Khi tổ chức điều phối tiến trình, bộ phận điều phối tiến trình của hệ điều hành thường dựa vào các đặc điểm của tiến trình như tiến trình thiên hướng Vào/Ra (cần nhiều thời gian hơn cho thao tác xuất/nhập dữ liệu), tiến trình thiên hướng xử lý (cần nhiều thời gian hơn cho việc thực hiện các chỉ thị), tiến trình tương tác (cần trả lại kết quả tức thời) hoặc xử lý theo lô (kết thúc xử lý mới trả về kết quả), độ ưu tiên của tiến trình (có thể tĩnh hoặc động), thời gian sử dụng bộ xử lý, và thời gian còn lại cần bộ xử lý. Bộ phận điều phối tiến trình thường dựa vào đặc điểm của tiến trình để thực hiện điều phối ở mức tác vụ.

3.3. Mục Tiêu Điều Phối Công Bằng Hiệu Quả Thời Gian Đáp Ứng

Bộ phận điều phối tiến trình của hệ điều hành Windows phải đạt được các mục tiêu như sự công bằng (các tiến trình đều công bằng trong việc chia sẻ thời gian xử lý), tính hiệu quả (tận dụng 100% thời gian xử lý của bộ xử lý), thời gian đáp ứng hợp lý (đối với tiến trình tương tác), thời gian lưu lại trong hệ thống (đối với tiến trình xử lý theo lô), và thông lượng tối đa (số lượng tiến trình hoàn thành trên một đơn vị thời gian). Công tác điều phối của hệ điều hành khó có thể thỏa mãn đồng thời tất cả các mục tiêu vì bản thân các mục tiêu này đã có sự mâu thuẫn với nhau.

IV. Quản Lý Tiến Trình Windows Với Task Manager Hướng Dẫn

Task Manager Windows, trước đây gọi là Windows Task Manager, là một công cụ quản lý công việc, giám sát hệ thống và quản lý khởi động kèm hệ thống. Nó cung cấp thông tin về hiệu năng hệ thống, ứng dụng đang chạy, tiến trình, phân chia CPU, thông tin bộ nhớ, hoạt động mạng, người dùng đăng nhập và dịch vụ hệ thống. Task Manager có thể dùng để thiết lập mức độ ưu tiên cho tiến trình, chọn nhân CPU, buộc dừng tiến trình và tắt/khởi động lại/ngủ đông/đăng xuất hệ thống. Windows Task Manager được giới thiệu từ Windows NT 4 và ngày càng được cải tiến.

4.1. Các Tab Chính Trong Task Manager Chức Năng Chi Tiết

Task Manager bao gồm các tab chính như Processes (quản lý tiến trình đang chạy, tắt ứng dụng bị treo, xem mức sử dụng tài nguyên), Performance (hiển thị thông tin về hiệu suất sử dụng CPU, bộ nhớ, ổ đĩa, mạng), Users (hiển thị thông tin về người dùng đang đăng nhập), Details (liệt kê tất cả tiến trình đang chạy, bao gồm tiến trình hệ thống), và Services (quản lý các dịch vụ chạy kèm Windows).

4.2. Khởi Tạo Tiến Trình Mới Từ Task Manager Windows Cách Thực Hiện

Để khởi tạo một tiến trình mới sử dụng Task Manager, chọn File -> Run new task, sau đó nhập đường dẫn tới chương trình cần chạy, hoặc chọn Browse để trỏ đường dẫn đến ứng dụng cần chạy. Task Manager cho phép người dùng nhanh chóng khởi động các ứng dụng từ giao diện này.

4.3. Chuỗi Chờ Đợi Tiến Trình Phân Tích Và Giải Quyết Vấn Đề

Khi một tiến trình đang thực hiện nhưng cần tài nguyên mà tài nguyên đó lại đang được tiến trình khác sử dụng, tiến trình này sẽ đợi tiến trình kia thực hiện xong hoặc chờ cho hệ thống cấp phát lại tài nguyên. Tính năng Analyze wait chain trong Task Manager giúp người dùng phân tích chuỗi chờ đợi tiến trình và tìm ra nguyên nhân gây chậm trễ hệ thống. Điều này hỗ trợ trong việc troubleshooting Windowsperformance tuning Windows hiệu quả.

V. Tài Nguyên Găng Đoạn Găng Trong Windows Cách Xử Lý

Trong môi trường đa nhiệm, đa chương trình và đa người dùng, việc chia sẻ tài nguyên là cần thiết, nhưng nếu không được tổ chức tốt, có thể dẫn đến xung đột và hỏng dữ liệu. Các tiến trình hoạt động đồng thời thường cạnh tranh với nhau trong việc sử dụng tài nguyên dùng chung. Tài nguyên găng (Critical Resource) là tài nguyên logic và vật lý phân bổ cho các tiến trình song hành. Để hạn chế lỗi, hệ điều hành phải điều khiển các tiến trình sao cho, tại một thời điểm chỉ có một tiến trình nằm trong đoạn găng. Các công tác điều khiển tiến trình thực hiện đoạn găng của hệ điều hành được gọi là điều độ tiến trình qua đoạn găng.

5.1. Điều Độ Tiến Trình Qua Đoạn Găng Các Yêu Cầu Cần Đáp Ứng

Nhiệm vụ điều độ tiến trình qua đoạn găng phải là sự phối hợp giữa vi xử lý, hệ điều hành, ngôn ngữ lập trình và người lập trình. Tất cả phải đạt được các yêu cầu sau: tại một thời điểm không thể có hai tiến trình nằm trong đoạn găng; nếu có nhiều tiến trình cùng xin được vào đoạn găng thì chỉ có một tiến trình được phép vào; tiến trình chờ ngoài đoạn găng không được ngăn cản các tiến trình khác vào; không có tiến trình nào được phép ở lâu vô hạn trong đoạn găng và không có tiến trình phải chờ lâu mới được vào.

5.2. Tắc Nghẽn Deadlock Nguyên Nhân Và Cách Ngăn Chặn Trong Windows

Tắc nghẽn xảy ra do xung đột về tài nguyên của hai hoặc nhiều tiến trình đang hoạt động đồng thời. Ví dụ, hai tiến trình P1 và P2, và hai tài nguyên găng R1 và R2, R1 đang được giao cho P2, R2 được giao cho P1. Mỗi tiến trình đều chờ đợi được sử dụng tài nguyên thứ hai. Điều kiện để hình thành tắc nghẽn bao gồm: loại trừ lẫn nhau, giữ và đợi, không ưu tiên và đợi vòng tròn. Các phương thức ngăn chặn tắc nghẽn tập trung giải quyết bốn điều kiện này.

5.3. Nhận Biết Tắc Nghẽn Thuật Toán Và Giải Pháp Thoát Khỏi

Các hệ điều hành có thể giải quyết vấn đề tắc nghẽn theo hướng phát hiện tắc nghẽn để tìm cách thoát khỏi tắc nghẽn. Để phát hiện tắc nghẽn, hệ điều hành thường cài đặt một thuật toán để phát hiện hệ thống có tồn tại hiện tượng chờ đợi vòng tròn hay không. Mỗi khi tắc nghẽn được phát hiện, hệ điều hành thực hiện các giải pháp để thoát khỏi tắc nghẽn, ví dụ như thoát tất cả các tiến trình bị tắc nghẽn, chỉ kết thúc một tiến trình, hoặc tập trung toàn bộ quyền ưu tiên sử dụng tài nguyên cho một tiến trình.

VI. Tối Ưu Hiệu Năng Tiến Trình Windows Bí Quyết Chuyên Gia

Việc tối ưu hóa hiệu năng tiến trình là một phần quan trọng của việc duy trì một hệ thống Windows nhanh chóng và hiệu quả. Điều này bao gồm việc giám sát mức sử dụng tài nguyên, xác định và loại bỏ các tiến trình không cần thiết, và điều chỉnh các thiết lập hệ thống để ưu tiên các tác vụ quan trọng. Sử dụng các công cụ như System Monitor Windows, Windows Performance Monitor, và Windows Resource Monitor giúp người dùng có cái nhìn sâu sắc về hoạt động của hệ thống và thực hiện các biện pháp cải thiện hiệu suất.

6.1. Giám Sát Mức Sử Dụng Tài Nguyên CPU Bộ Nhớ Ổ Đĩa Mạng

Sử dụng Task Manager hoặc Resource Monitor để giám sát mức sử dụng tài nguyên của từng tiến trình, bao gồm CPU usage Windows, Memory usage Windows, Disk usage Windows, và Network usage Windows. Xác định các tiến trình chiếm nhiều tài nguyên và tìm cách giảm tải hoặc loại bỏ chúng nếu không cần thiết.

6.2. Quản Lý Dịch Vụ Windows Tắt Các Dịch Vụ Không Cần Thiết

Xem xét danh sách các Dịch vụ Windows (Windows Services) và tắt các dịch vụ không cần thiết để giải phóng tài nguyên hệ thống. Lưu ý rằng việc tắt các dịch vụ quan trọng có thể gây ra sự cố, vì vậy cần tìm hiểu kỹ trước khi thực hiện.

6.3. Giải Quyết Tình Trạng Giật Lag Nguyên Nhân Và Phương Pháp Khắc Phục

Phân tích nguyên nhân gây ra tình trạng giật lag Windows và áp dụng các biện pháp khắc phục như cập nhật trình điều khiển, kiểm tra phần cứng, quét virus, và tối ưu hóa các tiến trình khởi động. Sử dụng các công cụ chẩn đoán để xác định các vấn đề tiềm ẩn và đưa ra các giải pháp phù hợp.

20/09/2025

Trích đoạn nội dung tài liệu

Chương 1 Tổng quan về các loại tiến trình 1. Tiến trình và các loại tiến trình. Để hỗ trợ hoạt động đa nhiệm, hệ thống máy tính cần phải có khả năng thực hiện nhiều tác vụ xử lí đồng thời nhưng việc điều khiển hoạt động song hành ở cấp dộ phần cứng là rất khó khắn. Vì vậy, các nhà thiết kế hệ điều hành đề xuất một mô hình song hành giả lập bằng cách chuyển đổi bộ xử lý qua lại giữa các chương trình để duy trì hoạy động của nhiều chương trình tại cùng một thời điểm.

Trong mô hình này, các hệ thống được tổ chức thành các tiến trình (process). Tiến trình (process): Tiến trình là một bộ phận của một chương trình đang thực hiện, đơn vị thực hiện tiến trình là processer. Ở đây chúng tôi nhấn mạnh thêm rằng: Vì tiến trình là một bộ phận của chương trình nên tương tự như chương trình tiến trình cũng sở hữu một con trỏ lệnh, một con trỏ stack, một tập các thanh ghi, một không gian địa chỉ trong bộ nhớ chính và tất cả các thông tin cần thiết khác để tiến trình có thể hoạt động được. Khái niệm trên đây mang tính trực quan, để thấy được bản chất của tiến trình các chuyên gia về hệ điều hành đã đưa ra nhiều định nghĩa khác nhau về tiến trình.

Định nghĩa của Saltzer: Tiến trình là một chương trình do một processor logic thực hiện. Định nghĩa của Horning & Rendell:Tiến trình là một quá trình chuyển từ trạng thái này sang trạng thái khác dưới tác động của hàm hành động, xuất phát từ một trạng thái ban đầu nào đó. Cần phân biệt rõ hai khái niệm chương trình và tiến trình. Chương trình là một thực thể thụ động chứa đựng các chỉ thị điều khiển máy tính thi hành một tác vụ cụ thể nào đó.

Khi cho thực hiện các chỉ thị này, với con trỏ lệnh xác định chỉ thị kế tiếp sẽ thi hành kèm theo các tập tài nguyên phục vụ cho hoạt động của tiến trình. 4 Downloaded by SAU DO (saudinh3@gmail.com) lOMoARcPSD|39270902 Các loại tiến trình: Các tiến trình trong hệ thống có thể chia thành hai loại: tiến trình tuần tự và tiến trình song song. Tiến trình tuần tự là các tiến trình mà điểm khởi tạo của nó là điểm kết thúc của tiến trình trước đó. Tiến trình song song là các tiến trình mà điểm khởi tạo của tiến trình này mằn ở thân của các tiến trình khác, tức là có thể khởi tạo một tiến trình mới khi các tiến trình trước đó chưa kết thúc.

Tiến trình song song được chia thành nhiều loại:  Tiến trình song song độc lập: là các tiến trình hoạt động song song nhưng không có quan hệ thông tin với nhau, trong trường hợp này hệ điều hành phải thiết lập cơ chế bảo vệ dữ liệu của các tiến trình, và cấp phát tài nguyên cho các tiến trình một cách hợp lý.  Tiến trình song song có quan hệ thông tin: trong quá trình hoạt động các tiến trình thường trao đổi thông tin với nhau, trong một số trường hợp tiến trình gởi thông báo cần phải nhận được tín hiệu từ tiến trình nhận để tiếp tục, điều này dễ dẫn đến bế tắc khi tiến trình nhận tín hiệu không ở trong trạng thái nhận hay tiến trình gởi không ở trong trạng thái nhận thông báo trả lời.  Tiến trình song song phân cấp: Trong qua trình hoạt động một tiến trình có thể khởi tạo các tiến trình khác hoạt động song song với nó, tiến trình khởi tạo được gọi là tiến trình cha, tiến trình được tạo gọi là tiến trình con. Trong mô hình này hệ điều hành phải giải quyết vấn đề cấp phát tài nguyên cho các tiến trình con.

Tiến trình con nhận tài nguyên ở đâu, từ tiến trình cha hay từ hệ thống. Để giải quyết vấn đề này hệ điều hành đưa ra 2 mô hình quản lý tài nguyên: Thứ nhất, mô hình tập trung, trong mô hình này hệ điều hành chịu trách nhiệm phân phối tài nguyên cho tất cả các tiến trình trong hệ thống. Thứ hai, mô hình phân tán, trong mô hình này hệ điều hành cho phép tiến trình con nhận tài nguyên từ tiến trình cha, tức là tiến trình khởi tạo có nhiệm vụ nhận tài nguyên từ hệ điều hành để cấp phát cho các tiến trình mà nó tạo ra, và nó có nhiệm vụ thu hồi lại tài nguyên đã cấp phát trả về cho hệ điều hành trước khi kết thúc.  Tiến trình song song đồng mức: là các tiến trình hoạt động song song sử dụng chung tài nguyên theo nguyên tắc lần lượt, mỗi tiến trình sau một khoảng thời gian chiếm giữ tài nguyên phải tự động trả lại tài nguyên cho tiến trình kia.

Mô hình tiến trình. 5 Downloaded by SAU DO (saudinh3@gmail.com) lOMoARcPSD|39270902 Đa số các hệ điều hành đều muốn đưa sự đa chương, đa nhiệm vào hệ thống. Tức là, trong hệ thống có thể có nhiều chương trình hoạt động đồng thời (concurrence) với nhau. Về nguyên tắc, để thực hiện được điều này thì hệ thống phải có nhiều processor, mỗi processor có nhiệm vụ thực hiện một chương trình, nhưng mong muốn của hệ điều hành cũng như người sử dụng là thực hiện sự đa chương trên các hệ thống chỉ có một processor, và trên thực tế đã xuất hiện nhiều hệ điều hành thực hiện được điều này, hệ điều hành windows9x, windowsNT/2000 chạy trên máy tính cá nhân là một ví dụ.

Để thực hiện được điều này hệ điều hành đã sử dụng mô hình tiến trình để tạo ra sự song song giả hay tạo ra các processor logic từ processor vật lý. Các processor logic có thể hoạt động song song với nhau, mỗi processor logic chịu trách nhiệm thực hiện một tiến trình. Trong mô hình tiến trình hệ điều hành chia chương trình thành nhiều tiến trình, khởi tạo và đưa vào hệ thống nhiều tiến trình của một chương trình hoặc của nhiều chương trình khác nhau, cấp phát đầy đủ tài nguyên (trừ processor) cho tiến trình và đưa các tiến trình sang trạng thái sẵn sàng. Hệ điều hành bắt đầu cấp processor cho một tiến trình trong số các tiến trình ở trạng thái sẵn sàng để tiến trình này hoạt động, sau một khoảng thời gian nào đó hệ điều hành thu hồi processor của tiến trình này để cấp cho một tiến trình sẵn sàng khác, sau đó hệ điều hành lại thu hồi processor từ tiến trình mà nó vừa cấp để cấp cho tiến trình khác, có thể là tiến trình mà trước đây bị hệ điều hành thu hồi processor khi nó chưa kết thúc, và cứ như thế cho đến khi tất cả các tiến trình mà hệ điều hành khởi tạo đều hoạt động và kết thúc được.

Điều đáng chú ý trong mô hình tiến trình này là khoảng thời gian chuyển processor từ tiến trình này sang tiến trình khác hay khoảng thời gian giữa hai lần được cấp phát processor của một tiến trình là rất nhỏ nên các tiến trình có cảm giác luôn được sở hữu processor (logic) hay hệ thống có cảm giác các tiến trình/chương trình hoạt động song song nhau. Hiện tượng này được gọi là sự song song giả. 6 Downloaded by SAU DO (saudinh3@gmail.com) lOMoARcPSD|39270902 Giả sử trong hệ thống có 3 tiến trình sẵn sàng P1, P2, P3 thì quá trình chuyển processor giữa 3 tiến trình này có thể minh họa như sau: Thời điểm Trạng thái các tiến trình t1 P1: được cấp processor t2 P1: bị thu hồi processor (khi chưa kết thúc) P3: được cấp processor t3 P3: bị thu hồi processor (khi chưa kết thúc) P1: được cấp processor t4 P1: kết thúc và trả lại processor P2: được cấp processor t5 P2: kết thúc và trả lại processor P3: được cấp processor t6 P3: kết thúc và trả lại processor Hình sau đây minh họa quá trình thực hiện của 3 tiến trình P 1, P2, P3 ở trên: P1 P2 P3 Time t1 t2 t3 t4 t5 t6 Hình 2.1: Sự hoạt động “song song” của các tiến trình P1, P2, P3 uniprocessor Chúng ta đều biết, chức năng cở bản của processor là thực hiện các chỉ thị máy (machine instrustion) thường trú trong bộ nhớ chính, các chỉ thị này được cung cấp từ một chương trình, chương trình bao gồm một dãy tuần tự các chỉ thị. Và theo trên, tiến trình là một bộ phận của chương trình, nó cũng sở hữu một tập lệnh trong bộ nhớ chính, một con trỏ lệnh,… Nên xét về bản chất, thì việc chuyển processor từ tiến trình này sang tiến trình khác thực chất là việc điều khển processor để nó thực hiện xen kẽ các chỉ thị bên trong tiến trình.

Điều này có thể thực hiện dễ dàng bằng cách thay đổi hợp lý giá trị của con trỏ lệnh, đó chính là cặp thanh ghi CS:IP trong các processor thuộc kiến trúc Intel, để con trỏ 7 Downloaded by SAU DO (saudinh3@gmail.com) lOMoARcPSD|39270902 lệnh chỉ đến các chỉ thị cần thực hiện trong các tiến trình. Mô hình tiến trình hệ thống có được 2 điều lợi:  Tiết kiệm được bộ nhớ: vì không phải nạp tất cả chương trình vào bộ nhớ mà chỉ nạp các tiến trình cần thiết nhất, sau đó tùy theo yêu cầu mà có thể nạp tiếp các tiến trình khác.  Cho phép các chương trình hoạt động song song nên tốc độ xử lý của toàn hệ thống tăng lên và khai thác tối đa thời gian xử lý của processor. Tiểu trình và tiến trình.

 Tiểu trình: Thông thường mỗi tiến trình có một không gian địa chỉ và một dòng xử lý. Nhưng trong thực tế có một số ứng dụng cần nhiều dòng xử lý cùng chia sẻ một không gian địa chỉ tiến trình, các dòng xử lý này có thể hoạt động song song với nhau như các tiến trình độc lập trên hệ thống. Để thực hiện được điều này các hệ điều hành hiện nay đưa ra một cơ chế thực thi (các chỉ thị trong chương trình) mới, được gọi là tiểu trình.  Tiểu trình là một đơn vị xử lý cơ bản trong hệ thống, nó hoàn toàn tương tự như tiến trình.

Tức là nó cũng phải xử lý tuần tự các chỉ thị máy của nó, nó cũng sở hữu con trỏ lệnh, một tập các thanh ghi, và một không gian stack riêng. Một tiến trình đơn có thể bao gồm nhiều tiểu trình. Các tiểu trình trong một tiến trình chia sẻ một không gian địa chỉ chung, nhờ đó mà các tiểu trình có thể chia sẻ các biến toàn cục của tiến trình và có thể truy xuất lên các vùng nhớ stack của nhau. Các tiểu trình chia sẻ thời gian xử lý của processor giống như cách của tiến trình, nhờ đó mà các tiểu trình có thể hoạt động song song (giả) với nhau.

Trong quá trình thực thi của tiểu trình nó cũng có thể tạo ra các tiến trình con của nó.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ