
TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA CÔNG NGHỆ THÔNG TIN
BỘ MÔN MẠNG VÀ TRUYỀN THÔNG
ĐỒ ÁN HỆ ĐIỀU HÀNH
Đề tài:
Xây dựng chương trình Quản lý CPU&RAM
của Windows
Sinh viên : Hoàng An 08T2
Cán bộ hướng dẫn : Huỳnh Công Pháp
Đà Nẵng 2011

2 Bộ môn mạng và truyền thông
Hoàng An
MỤC LỤC
CHƯƠNG 1: MỞ ĐẦU ........................................................................... 4
1.1. Giới thiệu ........................................................................................... 4
1.1.1. Quản lý bộ nhớ ............................................................................. 5
1.1.2. Quản lý tiến trình.......................................................................... 5
1.2. Đề tài và muc tiêu .............................................................................. 5
1.2.1. Đề tài ........................................................................................... 5
1.2.2. Mục tiêu....................................................................................... 5
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT...................................................... 6
2.1. Tổng quan về tiến trình ..................................................................... 6
2.1.1. Tiến trình và các loại tiến trình ...................................................... 7
2.1.1.1. Tiến trình (process): .................................................................................... 7
2.1.1.2. Các loại tiến trình: ....................................................................................... 7
2.1.2. Mô hình tiến trình: ...................................................................... 10
2.1.3. Tiểu trình và tiến trình ................................................................ 13
2.1.3.1. Tiểu trình:................................................................................................... 14
2.1.3.2. Đa tiểu trình trong đơn tiến trình: ........................................................... 14
2.1.4. Các trạng thái tiến trình............................................................... 15
2.1.4.1. Tiến trình hai trạng thái: .......................................................................... 15
2.1.4.2. Tiến trình ba trạng thái: ........................................................................... 16
2.1.4.3. Tiến trình 4 trạng thái:.............................................................................. 18
2.1.4.4. Tiến trình 5 trạng thái:.............................................................................. 19
2.1.5. Cấu trúc dữ liệu của khối quản lý tiến trình.................................. 21
2.1.5.1. Định vị của tiến trình (process location): ................................................ 21
2.1.5.2. Các thuộc tính của tiến trình: ................................................................... 22
2.1.6. Các thao tác điều khiển tiến trình ................................................ 23
2.1.7. So sánh Quản lý tiến trình của Windows với Linux ...................... 24

Xây dựng chương trình quản lý CPU và bộ nhớ RAM của Windows 3
Hoàng An
2.1.7.1. Mức ưu tiên trong lập lịch (Scheduling) .................................................. 24
2.1.7.2. Thông tin chi tiết về bộ lập lịch: ............................................................... 25
2.1.7.3. Lập lịch thời gian thực: ............................................................................. 26
2.1.7.4. Lập lịch lát cắt thời gian ........................................................................... 26
2.1.7.5. Kernel Retrancy ......................................................................................... 27
2.1.7.6. Kernel Preemptibility ................................................................................ 27
2.1.7.7. Bộ lập lịch (Scheduling)............................................................................. 28
2.1.7.8. Đồng bộ hóa Light-Weight........................................................................ 28
2.2. So sánh Hệ thống quản lý bộ nhớ Windows với Linux .................... 28
2.2.1. Bộ nhớ ảo (Virtual Memory) ....................................................... 29
2.2.2. Phân trang (Paging) .................................................................... 29
2.2.3. So sánh giữa Windows với Linux ................................................ 30
2.2.3.1. Các điểm tương đồng giữa hệ thống Quản lý bộ nhớ của Windows và
Linux ........................................................................................................................ 30
2.2.3.2. Cấu trúc dữ liệu để mô tả không gian tiến trình .................................... 30
2.2.3.3. Sự Phân phối không gian địa chỉ tiến trình............................................. 31
2.2.3.4. Thay thế trang (Page Replacement): ....................................................... 31
2.2.3.5. Kết luận về windows và Linux.................................................................. 34
CHƯƠNG 3: THIẾT KẾ VÀ XÂY DỰNG CHƯƠNG TRÌNH ...34
3.1. Phân tích chức năng: ....................................................................... 34
3.1.1. Lấy thông tin về bộ nhớ RAM, CPU:........................................... 35
3.1.1.1. Thông tin về hệ thống: Số Process, Số Handle, Số Thread, Commit,
CPU Usage ............................................................................................................... 35
3.1.1.2. Thông tin về RAM: % RAM Free, % RAM Used, Total RAM ............ 35
3.1.2. Hiển thị thông tin có được .......................................................... 35
3.1.2.1. Biểu đồ cột CPU Usage. ............................................................................. 35
3.1.2.2. Biểu đồ đường CPU Usage, RAM used. .................................................. 35
3.1.2.3. Biều đồ Chart 2D Ram used, free............................................................. 35
3.1.3. Cách tính CPU Usage: ................................................................ 35

4 Bộ môn mạng và truyền thông
Hoàng An
3.1.3.1. Dùng hàmGetSystemTimes(). ................................................................... 35
3.2. Xây dựng chức năng ........................................................................ 36
3.2.1. Lấy Thông tin về RAM ............................................................... 36
3.2.1.1. GlobalMemoryStatusEx(MEMORYSTATUSEX &); ........................... 36
3.2.2. Lấy thông tin về hệ thống............................................................ 36
3.2.2.1. GetPerformanceInfo(PERFORMANCEINFO&); ................................. 36
3.2.2.2. GetSystemTimes(); .................................................................................... 36
3.2.3. Vẽ biểu đồ.................................................................................. 36
3.2.3.1. Affine.h để trợ giúp vẽ biểu đồ ................................................................. 36
3.2.3.2. Draw.h vẽ các loại biểu đồ ........................................................................ 36
CHƯƠNG 4: TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ ..............36
4.1. Môi trường triển khai ...................................................................... 36
4.2. Kết quả các chức năng của chương trình......................................... 36
4.3. Đánh giá và nhận xét ....................................................................... 37
CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ................38
5.1. Kết luận ........................................................................................... 38
5.2. Hướng phát triển ............................................................................. 38
CHƯƠNG 1: MỞ ĐẦU
1.1. Giới thiệu

Xây dựng chương trình quản lý CPU và bộ nhớ RAM của Windows 5
Hoàng An
1.1.1. Quản lý bộ nhớ
Quản lý bộ nhớ là một trong những nhiệm vụ quan trọng và phức tạp nhất
của hệ điều hành. Bộ phận quản lý bộ nhớ xem bộ nhớ chính như là một tài
nguyên của hệ thống dùng để cấp phát và chia sẻ cho nhiều tiến trình đang ở
trong trạng thái active. Các hệ điều hành đều mong muốn có nhiều hơn các
tiến trình trên bộ nhớ chính. Công cụ cơ bản của quản lý bộ nhớ là sự phân
trang (paging) và sự phân đoạn (segmentation). Với sự phân trang mỗi tiến
trình được chia thành nhiều phần nhỏ có quan hệ với nhau, với kích thước
của trang là cố định. Sự phân đoạn cung cấp cho chươngtrình người sử
dụng các khối nhớ có kích thước khác nhau. Hệ điều hành cũng có thể kết
hợp giữa phân trang và phân đoạn để có được một chiến lược quản lý bộ
nhớ linh hoạt hơn.
1.1.2. Quản lý tiến trình
Tất cả các hệ điều hành đa chương, từ các hệ điều hành đơn người sử dụng
đến các hệ điều hành có thể hỗ trợ đến hàng ngàn người sử dụng, đều phải
xây dụng dựa trên khái niệm tiến trình. Vì thế, một yêu cầu quan trọng trong
thiết kế hệ điều hành là thành phần quản lý tiến trình của hệ điều hành phải
đáp ứng tất cả những gì liên quan đến tiến trình:
Hệ điều hành phải cho phép thực hiện nhiều tiến trình đồng thời để
khai thác tối đa thời gian xử lý của processor nhưng cũng cung cấp
được thời gian hồi đáp hợp lý.
Hệ điều hành phải cấp phát tài nguyên để tiến trình hoạt động một
cách hiệu quả với một chính sách hợp lý nhưng không xảy ra tình
trạng tắc nghẽn trong hệ thống.
Hệ điều hành có thể được yêu cầu để hỗ trợ truyền thông liên tiến
trình và người sử dụng tạo ra tiến trình.
Hệ điều hành phải có nhiệm vụ tạo ra tiến trình, điều khiển sự hoạt động của
tiến trình và kết thúc tiến trình.
Một số hệ điều hành phân biệt hai khái niệm tiến trình và tiểu trình. Tiến
trình liên quan đến quyền sở hữu tài nguyên, tiểu trình liên quan đến sự thực
hiện chương trình.
Trong các hệ điều hành đa chương, có nhiều tiến trình tồn tại trên bộ nhớ
chính, các tiến trình này luân phiên giữa hai trạng thái: sử dụng processor và
đợi thực hiện vào/ra hay một vài sự kiện nào đó xảy ra.
1.2. Đề tài và muc tiêu
1.2.1. Đề tài
Đồ án Nguyên Lý Hệ Điều Hành lần này chúng em chọn đề tài:
Xây dựng chương trình quản lý RAM và CPU
1.2.2. Mục tiêu

