Tải bản đầy đủ (.docx) (22 trang)

bài tập lớn môn nguyên lý hệ điều hành

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (940.95 KB, 22 trang )

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA: CÔNG NGHỆ THÔNG TIN

Bài tập lớn môn: Nguyên lý Hệ Đều Hành
Đề tài
Nghiên cứu về quản lú tiến trình trong HĐH window
Giảng viên hưỡng dẫn: Ths Nguyễn Tuấn Tú
Nhóm thực hiện:
Lớp:
K11

Nhóm 1
ĐH-CNTT3 –


TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA: CÔNG NGHỆ THÔNG TIN

Bài tiểu luận môn học: Nguyên lý Hệ Điều Hành
Đề tài
Nghiên cứu về quản lú tiến trình trong HĐH windown
Giáo viên hướng dẫn: Ths Nguyễn Tuấn Tú
Sinh viên thực hiện:

Đào Xuân Điệp

Trần Tuấn Dũng
Đào Văn Hải
Lưu Huy Hoàng
Hạ Quang Huy
Lớp:



DH-CNTT 3 – K11


Mục lục

Lời Nói Đầu
Ngày nay, như mọi người biết máy tính là công cụ hữu ích và phổ biến nhất giúp
con người trong nhiều lĩnh vực khác nhau như: công việc, giải trí, quản lý thông tin…
Nhưng có một câu hỏi đặt ra là: Làm sao để máy tính hoạt động được? Chắc hẳn mọi
người khi sử dụng máy tính đều đã biết về hệ điều hành(HĐH) và chức năng của nó.
Vậy HĐH là gì? HĐH là một tập hợp các phần mềm hệ thống điều khiển mọi hoạt động
của máy tính, có chức năng tạo môi trường giao diện cho người sử dụng, tạo môi
trường hoạt động cho các chương trình ứng dụng, quản lý và khai thác hiệu quả các
thiết bị phần cứng. Vì vậy, máy tính hoạt động được là nhờ HĐH. Mà HĐH ngày nay có
nhiều loại và chức năng khác nhau như Windows, Linux,… Nhưng HĐH được sử dụng
phổ biến hiện nay là HĐH Windows. Trong HĐH, để các chương trình được duy trì
hoạt động tại cùng một thời điểm thì chúng được tổ chức thành các tiến
trình(process).


Vậy làm thế nào để quản lý được tiến trình trong HĐH Windows? Để hiểu được
cách thức quản lý đó thì tài tài liệu này sẽ giúp bạn đọc tìm ra được đáp án.

Nhóm sinh viên thực hiện !

CHƯƠNG 1: KHÁI NIỆM CHUNG VỀ HỆ ĐIỀU HÀNH WINDOWS

I.



Hệ điều hành là gì?

Hệ điều hành là một tập hợp các chương trình hệ thống có chức năng tạo môi trường
giao diện cho người sử dụng, tạo môi trường hoạt động cho các chương trình ứng
dụng, quản lý và khai thác hiệu quả các thiết bị phần cứng.



HĐH Windows là hệ điều hành của hãng Microsoft sử dụng giao tiếp người dùng đồ
họa, hay còn gọi là hệ điều hành trực quan.
Hình 1.1. Hệ điều hành Windows
Hình 1.2. Mối quan hệ giữa hệ điều hành và các lớp trong hệ thống.


II.


Đặc điểm của hệ điều hành windows

Hệ thống quản lý ứng dụng theo dạng cửa sổ, mỗi ứng dụng sẽ chạy trên cửa sổ riêng
và có thể cất tạm xuống thanh taskbar khi chưa cần làm việc với cửa sổ đó.



Giao diện đồ họa giúp người dùng xử lý bằng chuột và bàn phím một cách đơn giản



Là HĐH đa nhiệm nên có khả năng xử lý được nhiều chương trình cùng một lúc.

III.



Chức năng cơ bản của HĐH Windows

Quản lý tiến trình: đảm bảo cho các tiến trình thực hiện được và xử lý được các vấn
đề của các tiền trình.



Quản lý bộ nhớ trong: cấp phát và thu hồi không gian nhớ cho các tiến trình; lưu trữ
những thành phần của bộ nhớ đnag sử dụng và do tiền trình nào sử dụng; quyết định
tiến trình nào được nạp vào bộ nhớ khi có khả năng; sắp xếp và giải phóng không gian
nhớ khi cần thiết.



Quản lý bộ nhớ ngoài: quản lý không gian nhớ tự do, cấp phát không gian nhớ tự do,
cung cấp các khả năng định vị bộ nhớ ngoài, lập lịch cho bộ nhớ ngoài.



Quản lý hệ thống vào/ra: che giấu những đặc thù của các thiết bị vào/ra; tạo lập
những chương trình để quản lý, điều khiển thiết bị chung và thiết bị đặc biệt.



Quản lý file: tạo và xóa file, thư mục; hỗ trợ các nguyên lí thao tác file và thư mục;
ánh xạ các file lên bộ nhớ phụ; ghi dự phòng các file lên bộ nhớ ổn định.




Hệ thống bảo vệ: Giúp hệ thống hoạt động bình thường, bảo vệ các tài nguyên xử lý
chung; phát triển và ngăn chặn các khả năng sai sót của các tiến trình.



Lập mạng: hỗ trợ khả năng quản lý, chia sẻ tài nguyên, truyền thông trên mạng thông
qua các thành phần điều khiển giao tiếp mạng.



Hệ thống thông dịch: giúp máy tình hiểu và xử lý được các chỉ thị, các lệnh của người
sử dụng.
IV.



Tính chất

Độ tin cậy cao: Mọi hoạt động, thông của hệ điều hành phải chuẩn xác tuyệt đối. Chỉ
khi nào chắc chắn đúng thì hệ điều hành mới cung cấp thông tin cho người sử dụng.



Tính an toàn: Đảm bảo cho dữ liệu và các chương trình không bị thay đổi ngoài ý
muốn trong mọi trường hợp và mọi chế độ hoạt động.




Tính hiệu quả: Các tài nguyên của hệ thống được khai thác triệt để ngay cả khi tài
nguyên hạn chế vẫn có thể giải quyết những vấn đề phức tạp. Duy trì hoạt động đồng


bộ trong toàn hệ thống.


Tính kế thừa: HĐH mới kế thừa những ưu điểm và khắc phục được những nhược
điểm của HĐH cũ



Tính thuận lợi: Dễ sử dụng, có hiệu quả tùy theo kiến thức và kinh nghiệm của người
dùng.

CHƯƠNG 2: QUẢN LÝ TIẾN TRÌNH TRONG HỆ ĐIỀU HÀNH WINDOWS

I.

Khái niệm tiến trình (process) và tiểu trình (thread)
● Tiến trình là một chương trình đang xử lý, sở hữu một không gian địa chỉ, một con trỏ
lệnh, tập các thanh ghi và stack. Tiến trình có thể cần đến một số tài nguyên như CPU,
bộ nhớ chính, các tập tin và thiết bị nhâp/xuất.
● Một tiến trình có thể tạo ra nhiều tiểu trình, mỗi tiểu trình thực hiện một chức năng
nào đó và thực thi đồng thời cũng bằng cách chia sẻ CPU. Các tiểu trình trong cùng
một tiến trình dùng chung không gian địa chỉ tiến trình nhưng có con trỏ lệnh, tập các
thanh ghi và stack riêng. Một tiểu trình cũng có thể tạo lập các tiến trình con, và nhận
các trạng thái khác nhau như một tiến trình.
● Các tiến trình chỉ có liên lạc với nhau thông qua các cơ chế do hệ điều hành cung cấp.

Các tiểu trình có thể liên lạc với nhau dễ dàng thông qua các biến toàn cục của tiến
trình
Các trạng thái của tiến trình

II.

Trạng thái của tiến trình tại mỗi thời điểm được xác định bởi hoạt động hiện thời
của tiến trình này tại thời điểm đó. Trong suốt khoảng thời gian tồn tại trong hệ
thống, một tiến trình có thể thay đổi trạng thái do rất nhiều nguyên nhân như: chờ
đợi sự kiện nào đó xảy ra, đợi một thao tác vào/ra hoàn tất, hết thời gian xử lý…
Tại mỗi thời điểm, tiến trình có thể nhận một trong các trạng thái sau:






Khởi tạo (New): Tiến trình đang được tạo lập.
Sẵn sàng (Ready): Tiến trình chờ được cấp phát CPU để xử lý.
Thực hiện (Running): Tiến trình được xử lý.
Đợi (Waiting): Tiến trình phải dừng vì thiếu tài nguyên hoặc chờ một sự kiện nào đó.
Kết thúc (Halt): Tiến trình đã hoàn tất công việc xử lý.


Các trạng thái của tiến trình có thể được biểu diễn qua sơ đồ sau:

Hình 2.1. Các trạng thái của một tiến trình
Tại một thời điểm chỉ có một tiến trình có thể nhận trạng thái running trên một bộ
xử lý bất kỳ. Trong khi đó, nhiều tiến trình có thể ở trạng thái waiting hay ready.
Các cung chuyển tiếp trong sơ đồ trạng thái biễu diễn sáu sự chuyển trạng thái có

thể xảy ra trong các điều kiện sau :





Tiến trình mới tạo được đưa vào hệ thống.
Bộ điều phối cấp phát cho tiến trình một khoảng thời gian sử dụng CPU.
Tiến trình kết thúc.
Tiến trình yêu cầu một tài nguyên nhưng chưa được đáp ứng vì tài nguyên chưa sẵn

sàng; hoặc tiến trình phải chờ một sự kiện hay thao tác nhập/xuất.
● Bộ điều phối chọn một tiến trình khác để cho xử lý.
● Tài nguyên mà tiến trình yêu cầu trở nên sẵn sàng để cấp phát; hay sự kiện hoặc thao
III.

tác nhập/xuất tiến trình đang đợi hoàn tất.
Cấu trúc khối dữ liệu quản lý tiến trình
Hệ điều hành quản lý các tiến trình trong hệ thống thông qua khối quản lý tiến
trình (process control block -PCB). PCB là một vùng nhớ lưu trữ các thông tin mô tả
cho tiến trình.
Cấu trúc của khối PCB :
● Định danh tiến trình (Pid-process Id) : Để phân biệt các process.
● Trạng thái tiến trình-procees state: Xác định trạng thái hiện thời.
● Ngữ cảnh tiến trình : Mô tả các tài nguyên ung quan đến tiến trình (hiện có
hoặc đang đợi phân bổ).


Hình 2.2. Khối quản lý tiến trình – PCB
● Trạng thái CPU: Con trỏ lệnh, CPU registers; Được lưu trữ khi xảy ra ngắt để có

thể phục hồi trạng thái khi phục vụ ngắt xong.
● Thông tin lịch trình CPU-CPU scheduling information.
● Thông tin quản lí bộ nhớ: Danh sách khối nhớ đang cấp cho tiến trình.
● Tài nguyên sử dụng : Danh sách tài nguyên tiến trình đang sử dụng.
● Tài nguyên tạo lập: Danh sách các tài nguyên mà tiến trình yêu cầu.
Thông tin giao tiếp: Phản ánh quan hệ giữa tiến trình với tiến trình khác trong hệ
thống.
Thông tin thống kê: Những thông tin hoạt động về tiến trình ( thực hiện, chờ…)
Các PCB thường liên kết với một số hàng đợi để điều phối CPU. - PCB sẽ quyết
định tiến trình nào sẽ được sử dụng CPU.
Hệ điều hành căn cứ vào nội dung của PCB để:
● Phân phối và phân phối lại CPU.
● Giải phóng CPU ảo mà không phân phối lại
Trong chế độ đa chương trình, user quan niệm nhiều chương trình thực hiện đồng
thời, nhưng khi thực hiện CPU chỉ phục vụ một chương trình tại một thời điểm (CPU
thực) các chương trình đang thực hiện đồng thời còn lại sử dụng CPU ảo.
CPU ảo là CPU logic được phân phối cho toàn bộ tiến trình.

IV.

Thao tác trên tiến trình


Hệ điều hành cung cấp các thao tác chủ yếu sau đây trên một tiến trình :


tạo lập tiến trình (create)




kết thúc tiến trình (destroy)



tạm dừng tiến trình (suspend)



tái kích hoạt tiến trình (resume)



thay đổi độ ưu tiên tiến trình

Trên đây là các thao tác chủ yếu trên hệ điều hành, còn đối với hệ điều hành
Windows để thao tác với các tiến trình ta cần phải sử dụng tới trình quản lý tác vụ
gọi là “Task Manager”.
4.1. Task Manager là gì?
Task Manager là một trong những công cụ quan trọng cho người dùng Windows. Ứng
dụng này cho phép người dùng có thể kiểm tra các ứng dụng, tiến trình (process) và
dịch vụ (service) hiện đang chạy trên máy tính. Người dùng có thể sử dụng Task
Manager để khởi chạy, dừng các chương trình và tiến trình, ngoài ra Task Manager
còn cho cung cấp các thống kê hữu ích về mặt hiệu suất máy tính và mạng. Nhưng ở
đây ta chỉ tìm hiểu một số mục.

Hình 2.3
4.2. Cách truy cập Task Manager.
Hình 2.4
Task Manager có thể gọi bằng một trong bốn cách sau:



1. Nháy phải chuột vào taskbar và chọn "Task Manager" hoặc nháy phải chuột

vào menu start và chọn "Task Manager".
2. Dùng tổ hợp phím Ctrl+Shift+Esc.
3. Trong Windows NT, Windows 2000, and Windows Vista, dùng tổ hợp

phím Ctrl+Alt+Del để mở hộp thoại Windows Security, sau đó chọn "Task
Manager". Ở Windows XP, nhấn trực tiếp Ctrl+Alt+Del hoặc Ctrl+Shift+Esc để
gọi Task Manager, trừ khi bạn tắt Welcome Screen.

4. Gọi lệnh "Taskmgr.exe" từ command line, GUI hay là shortcut.

4.3. Các tab trong Task Manager
Tab Process
Đây là thẻ quản lý các tiến trình. Gồm các Apps đang chạy, các tiến trình chạy nền và
các tiến trình của Windows. Nếu bạn muốn biết thông tin về một Apps nào đó, click
chuột phải vào Apps đó → Expand, ví dụ bạn đang sử dụng Google Chrome nó sẽ cho
bạn thấy bạn đang duyệt trang web nào …
Nếu một tiến trình đang bị treo (Not Responding) và bạn không thể tắt nó đi. Click
chuột phải vào tiến trình đó → End Task.
Ngoài ra, tab này còn hiển thị cho bạn thấy rằng các tiến trình đang chạy đó tốn hết
bao nhiêu tài nguyên máy (CPU, RAM, Disk, Network). Vì vậy nếu thấy máy tính chậm
chạp bất thường bạn hãy kiểm tra các tiến trình trong đây và đưa ra giải pháp hợp lý
nhất.

Hình 2.5
Tab Performance
Đây là thẻ hiệu suất hiển thị các thông tin về: CPU, RAM, HDD, Wifi, LAN,
Bluetooth.



Hình 2.6
Tab App History
Thẻ này dùng để xem các thông tin về các ứng dụng trên giao diện Modern của
máy
bạn. Nếu click chuột phải vào một ứng dụng nào đó và chọn Switch To thì Windows sẽ
tự động chuyển qua ứng dụng đó.

Hình 2.7
Tab Startup
Thẻ này dùng để quản lý các ứng dụng sẽ khởi động cùng Windows 8. Ở các phiên
bản Windows trước thì việc quản lý các ứng dụng tự khởi động trong thư mục
Startup hoặc trong trang Msconfig. Nhưng với Windows 8, nó đã được tích hợp trong
Task Manager.







Disable: ngăn nó khởi chạy cùng Windows 8 ở những lần khởi động sau.
Open file location: mở thư mục chứa phần mềm đó.
Search online: tìm kiếm thông tin về nó trực tuyến.
Properties: hiển thị thông tin ứng dụng.

Hình 2.8
Tab Users
Hiển thị cho chúng ta có bao nhiêu tài khoản đang truy cập máy, mỗi tài khoản đó

đang chạy những ứng dụng và tiến trình nào.

Hình 2.9
Tab Details


Là một tính năng nâng cao của tab Process. Nó liệt kê tất cả các tiến trình đang chạy
bao gồm các tiến trình của người sử dụng mở và các tiến trình chạy nền hoặc của
Windows. Tab này tương tự với tab Process của Task Manager trong Windows 7.

Hình 2.10
Tab Services
Thẻ quản lý các dịch vụ chạy kèm với Windows 8 để giúp máy hoạt động ổn định.
Nếu như không cần thiết hoặc bạn không am hiểu nhiều về các Services của Windows
thì không nên thay đổi gì nhiều ở đó. Vì nếu không cẩn thận bạn có thể sẽ gây ra
những vấn đề trong quá trình sử dụng Windows sau này.

Hình 2.11


4.3. Process (tiến trình).
Process tab hiện danh sách tất cả các tiến trình đang hoạt động trên hệ thống. Bao
gồm servicer và tiến trình chạy ngầm. Tuy nhiên cũng có một vài tiến trình không hiện
trong Task Manager như tiến trình hoạt động của virut




Foreground process (tạm dịch: tiến trình nổi bật): Đây chính là những process dùng để
chạy ứng dụng (app) bạn đang dùng. Những process khác cũng có thể được xem là

foreground khi chúng có liên hệ trức tiếp với process “xử lý” app đang chạy. Tại một
thời điểm cũng chỉ có vài foreground process mà thôi. Những chương trình được
người dùng khởi động lên để sử dụng, đối với Windows nó sẽ hiển thị những ứng
dụng bên dưới thanh taskbar, cũng tương tự như foreground process chung cho hệ
điều hành thì tại một thời điểm cũng chỉ có vài tiến trình được thực thi (ví dụ: word,
chorme, …).
Background process (tạm dịch: tiến trình nền): Background process không xuất hiện,
cũng không thực hiện vai trò dễ nhận ra (như chơi nhạc), chúng không ảnh hưởng
đến trải nghiệm sử dụng. Tại một thời điểm, có rất nhiều background process đang
chạy và bạn có thể xem chúng là những ứng dụng đang “tạm dừng”. Background
process vẫn sử dụng RAM, cho phép bạn nhanh chóng chuyển đổi trở lại nhưng
không sử dụng thêm tài nguyên phần cứng nào khác. Đối với máy tính sử dụng hệ
điều hành Windows thì background process chứa các chương trình điều khiển hoạt
động của máy tính, các Service Host (nó là một chương trình được thiết kế để chạy
các chương trình khác và host các dịch vụ của windows Xp, tên đủ nghĩa là service
host, do vậy trong process list bạn sẽ thấy nhiều bản thể của service host, và nếu tắt
(End task) nó thì có nghĩa là một vài chức năng trong hệ thống sẽ không hoạt động),
các file hệ thống, các ứng dụng được cài đặt lên nhưng không được người dùng khởi
động nhưng vẫn được hiển thị ở process (những ứng dụng này khi tắt đi vẫn không
ảnh hưởng đến sự hoạt động của hệ thống).
Ví dụ khi dùng Chrome và bấm phím Home, Chrome trở thành background process và
khi mở lại Chrome, nó cũng lập tức mở lại tab đang xem.



Khi bạn chọn vào nút “Fewer details” thì Task manager chỉ hiện danh sách các ứng
dụng đang chạy (hình 2.12), “More details” để hiển thị các danh sách tất cả các tiến
trình (hình 2.13).



Hình 2.12

Hình 2.13
4.4. Details.
Tại thẻ Processes trên cửa sổ Task Manager sẽ cung cấp cho bạn chi tiết các ứng
dụng đang chạy. Nếu muốn đào sâu hơn về chương trình, bạn click chọn nút Details.
Khi ta nháy chuột phải vào tên tiến trình tại tab Details sẽ thấy một popup – menu
hiện lên, nội dung của menu đó như sau (hình 2.14):


Open file location: mở vị trí của tiến trình trên đĩa.



End task: Dừng tiến trình.



End process tree: Dừng tiến trình đó và tất cả những tiến trình con (là tiến trình
được gọi từ tiến trình đó).



Set priority: Đặt mức ưu tiên của hệ thống cho tiến trình.



Set Affinity: Chọn CPU nào để ứng dụng hoạt động trên đó.




Properties: Hộp thoại thông tin của tệp tiến trình.



Goto service(s): Nhảy tới dịch vụ (những dịch vụ) chạy ứng dụng đó, nếu có.




……

Hình 2.14
4.5. Not Responding (Bế tắc)
“Not Responding” tức là tiến trình đang bị bế tắc. Trong quá trình sử dụng máy
tính, đôi khi bạn gặp phải những trường hợp máy tính bị “đơ”, và trên mỗi cửa sỗ sẽ
có chữ “Not Responding”, lúc này cả chuột lẫn bàn phím đấu không còn tác dụng,
cách duy nhất là bạn phải tắt máy tính rồi bật lại đối với máy tính xách tay, nhấn nút
restart đối với máy cây. “Not Responding” có thể nhận thấy được nữa là khi ứng dụng
đang chạy mà chúng ta không thể tương tác với ứng dụng, nhưng mà chuột và bàn
phím đều có thể tưởng tác được thì ta có thể mở Task Manager lên để tắt tiến trình
đang chạy.
- Để kiểm tra tiến trình nào đang bế tắc thì ta phải mở trình quản lý tác vụ “Task
Manager” lên, lúc đó trong nút “Process” ta sẽ thấy được mức sử dụng CPU và RAM
lên cao thậm chí lên đến 100% (mức sử dụng tài nguyên của ứng dụng lớn). Những
ứng dụng sử dụng nhiều CPU và RAM thường sẽ nằm ở đầu.
● Điều kiện xay ra bế tắc:
- Loại trừ tương hỗ: có tài nguyên nguy hiểm, tại 1 thời điểm duy nhất 1 tiến trình sử
dụng.
- Giữ và chờ: tiến trình giữ tài nguyên trong khi chờ đợi.

- Không có phân phối lại: tài nguyên do tiến trình nắm giữ không thể phân phối lại
tài nguyên cho tiến trình khác trừ khi tiến trình đang giữ tự giải phóng tài nguyên.
- Chờ đợi vòng tròn: tồn tại nhóm tiến trình P1, P2, …, Pn sao cho P1 chờ đợi tài
nguyên do P2 nắm giữ, P2 chờ đợi tài nguyên do P3 nắm giữ, …, Pn chờ đợi tài
nguyên do P1 nắm giữ.


● Một vài nguyên nhân:
1. Phần cứng không tương thích
Đây là một trong những nguyên nhân hay xảy ra nhất khi hệ thống ngưng hoạt động,
lỗi có thể do một thiết bị phần cứng từ ổ CD, USB, bàn phím, chuột, … Trong một vài
trường hợp, bạn sẽ gặp phải “màn hình xanh chết chóc” (Blue Screen of Death). Lúc
này bạn nên tìm ra thiết bị gây lỗi và làm theo hướng dẫn trên màn hình, như khởi
động máy ở chế độ Safe Mode (bấm phím F8 khi khởi động, chọn Advanced Startup
Options > Safe Mode), bất hoạt tùy chọn BIOS Memory…
Lưu ý: Đa phần là do thanh RAM bị lỗi, bạn cần tháo thanh RAM ra lau chùi các khe
cắm, kiểm tra xem còn lỗi không.
2. Driver
Đôi khi việc cài driver sai cho phần cứng cũng làm máy hoạt động không ổn định. Lúc
này, bạn phải gỡ bỏ driver cũ đi bằng cách sau:
● Vào Start > Run, gõ cmd rồi bấm Ctrl+Shift+Enter để thực thi Command Prompt
bằng tài khoản administrator.
● Gõ vào dòng SET DEVMGR_SHOW_NONPRESENT_DEVICES=1, cách này sẽ làm cho
các file driver cũ hiển thị trong Device Manager.
● Gõ tiếp vào chữ devmgmt.msc để mở Device Manager. Bạn cũng có thể mở Device
Manager bằng cách bấm phải vào My Computer > Manager > Device Manager.
● Tại đây, bấm vào menu View, chọn Show hidden device. Ngay lập tức, các driver cũ
sẽ hiện ra.
● Lúc này, bạn bấm phải vào driver đó, chọn Uninstall để gỡ bỏ ra khỏi máy tính.
3. Registry

Một vài trường hợp do registry bị lỗi cũng làm hệ thống bị lỗi, do đó, bạn cần phải sử
dụng một phần mềm tối ưu hệ thống để quét registry cũng như dọn dẹp file rác trong
Windows, điển hình như TuneUp Utilities 2009 hoặc Advanced SystemCare PRO.
4. Virus, spyware, adware, trojan
Các loại virus có thể là nguyên nhân khiến máy hoạt động chậm chạp, đôi khi còn là
nguyên nhân gây lỗi màn hình xanh.
5. Lỗi phần mềm
Một vài ứng dụng hệ thống lập trình kém sẽ gây ra các lỗi trên máy tính, tương tự,
Firefox và IE cũng bị ngưng hoạt động khi thực hiện các đoạn script không tốt. Do đó,
bạn hãy gỡ bỏ các phần mềm và các plugin gây lỗi cho trình duyệt ra.
6. Do người sử dụng


Bạn nên cẩn thận khi thực hiện các thao tác tối ưu, chỉnh sửa hệ thống. Việc chỉnh
sửa này sẽ rất dễ gây ra lỗi đối với người chưa có nhiều kinh nghiệm. Do đó, quan
trọng hơn hết là bạn hãy tạo bản sao lưu hệ thống trước khi chỉnh sửa, để có thể dễ
dàng khôi phục lại khi phát sinh lỗi.


Cách giải quyết:
- Ngăn ngừa: Đảm bảo một trong bốn điều kiện xảy ra bế tắc không bao giờ thõa
mãn.
- Phòng tránh: Cho phép một số điều kiện xảy ra bế tắc được thõa mãn nhưng đảm
bảo để không đạt tới điểm bế tắc.
- Phát hiện và giải quyết: Cho phép bế tắc xảy ra, phát hiện và khôi phục hệ thống về
tình trạng không bế tắc, cài đặt một phần mềm diệt virus, quan trọng là phải cập
nhật thường xuyên để bảo vệ máy tính tốt hơn.

V.


Cấp phát tài nguyên cho tiến trình
Khi có nhiều người sử dụng đồng thời làm việc trong hệ thống, hệ điều hành cần
phải cấp phát các tài nguyên theo yêu cầu cho mỗi người sử dụng. Do tài nguyên hệ
thống thường rất giới hạn và có khi không thể chia sẻ, nên hiếm khi tất cả các yêu cầu
tài nguyên đồng thời đều được thỏa mãn. Vì thế cần phải nghiên cứu một phương
pháp để chia sẻ một số tài nguyên hữu hạn giữa nhiều tiến trình người dùng đồng
thời. Hệ điều hành quản lý nhiều loại tài nguyên khác nhau (CPU, bộ nhớ chính, các
thiết bị ngoại vi …), với mỗi loại cần có một cơ chế cấp phát và các chiến lược cấp
phát hiệu qủa. Mỗi tài nguyên được biễu diễn thông qua một cấu trúc dữ liệu, khác
nhau về chi tiết cho từng loại tài nguyên, nhưng cơ bản chứa đựng các thông tin sau :
Định danh tài nguyên
Trạng thái tài nguyên : đây là các thông tin mô tả chi tiết trạng thái tài nguyên :
phần nào của tài nguyên đã cấp phát cho tiến trình, phần nào còn có thể sử dụng ?
Hàng đợi trên một tài nguyên : danh sách các tiến trình đang chờ được cấp phát
tài nguyên tương ứng.
Bộ cấp phát : là đoạn code đảm nhiệm việc cấp phát một tài nguyên đặc thù. Một
số tài nguyên đòi hỏi các giải thuật đặc biệt (như CPU, bộ nhớ chính, hệ thống tập
tin), trong khi những tài nguyên khác (như các thiết bị nhập/xuất) có thể cần các giải
thuật cấp phát và giải phóng tổng quát hơn.


Hình 2.15 Khối quản lý tài nguyên
Các mục tiêu của kỹ thuật cấp phát :
Bảo đảm một số lượng hợp lệ các tiến trình truy xuất đồng thời đến các tài nguyên
không chia sẻ được.
Cấp phát tài nguyên cho tiến trình có yêu cầu trong một khoảng thời gian trì hoãn
có thể chấp nhận được.
Tối ưu hóa sự sử dụng tài nguyên.
Để có thể thõa mãn các mục tiêu kể trên, cần phải giải quyết các vấn đề nảy sinh
khi có nhiều tiến trình đồng thời yêu cầu một tài nguyên không thể chia sẻ.

VI.

6.2.

Điều phối tiến trình
6.1. Mục đích điều phối
● Công bằng sử dụng CPU: các tiến trình chia sẻ CPU một cách công bằng, không có
tiến trình nào phải chờ đợi vô hạn để được cấp phát CPU.
● Cân bằng sử dụng các thành phần của hệ thống
● Tận dụng CPU
● Giảm thiểu thời gian chờ
● Cân đối mong muốn của người dùng:
Các thuật toán điều phối
a) First come first served (FCFS)
Đây là thuật toán đơn giản nhất, tiến trình nào yêu cầu CPU trước thì được phục
vụ trước. Tiêu chí lựa chọn tiến trình là thứ tự vào hàng đợi Ready Queue.


Hình 2.16. Minh họa FCFS
Ưu điểm: đơn giản, dễ cài đặt.
Nhược điểm:



b)

Tiến trình có thời gian xử lý ngắn phải đợi tiến trình có thời gian xử lý dài.
Có thể xảy ra tình trạng độc chiếm CPU.
Không phù hợp với hệ thống tương tác người dùng.
Round Robin (RR)

Đối với thuật giải RR, mỗi tiến trình trước khi bắt đầu được đưa vào CPU xử lý, sẽ
được cấp phát cho một đơn vị thời gian chiếm dụng CPU nhất định.
Ta gọi chung giá trị hằng số này với cái tên là quantum (q). Điểm khác biệt của RR
với FCFS đó là RR tuân thủ theo cơ chế không độc quyền.
Như vậy, khi một tiến trình sử dụng hết thời gian quantum mà nó được cấp phát, thì
dù vẫn còn phải xử lý tiếp, phần dư của nó cũng sẽ được chuyển về phía sau trong
danh sách hàng đợi. Sau đó, căn cứ vào danh sách Ready list đã nạp trước đó, CPU sẽ
lấy tiếp tiến trình kế cận để đưa vào xử lý, với mức quantum là như nhau cho tất cả
các tiến trình.

Hình 2.17. Minh họa RR


Nếu gọi n là số tiến trình có trong Ready list, thời gian quantum là q, như vậy mỗi tiến
trình sẽ có một khoảng thời gian là để sử dụng CPU.
Ưu điểm: phương pháp phục vụ đồng mức theo lớp sẽ cho phép hệ thống ưu tiên
những tiến trình ngắn (vì nó kết thúc sớm) nhưng không gây tổn hại lớn cho các tiến
trình dài.
Nhược điểm: do phải thường xuyên phân phối lại giờ CPU nên thời gian chờ đợi
trung bình của RR có thể lớn hơn FCFS.
c) Shortest-job-first (SJF)

Thuật toán SJF xác định thứ tự ưu tiên thực hiện tiến trình dựa vào tổng thời gian
thực hiện tiến trình. Tiến trình có tổng thời gian ngắn sẽ được ưu tiên phục vụ trước.
Ưu điểm: thời gian chờ đợi trung bình của các tiến trình ngắn hơn so với FCFS. SJF
nhanh chóng loại bỏ các tiến trình ngắn, giảm số lượng các tiến trình trong hàng đợi.
Nhược điểm: khó xác định độ dài tiếp theo cần đưa vào để CPU xử lý.

Hình 2.18. Minh họa SJF


KẾT LUẬN
Qua việc tìm hiểu về quản lý tiến trình của hệ điều hành Windows, chúng ta biết được
thế nào là một tiến trình trong hệ điều hành Windows. Từ tiến trình, chúng ta có thể
thấy được sự chuyển đổi qua lại giữa các trạng thái new, ready, running, waiting và
halt. Và quan trọng là chúng ta biết được các thao tác quản lý một tiến trong hệ điều
hành như thế nào thông qua Task Manager.




×