



















Preview text:
lOMoAR cPSD| 22014077
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM TP.HCM
KHOA CÔNG NGHỆ THÔNG TIN BÀI TIỂU LUẬN Đề tài:
1 / Tìm hiểu lịch sử ra đời và các giai đoạn phát triển của hệ điều hành Android.
2 / Tìm hiểu về các vấn đề liên quan đến bài toán xử lý Deadlock
trong hệ thống máy tính.Viết chương trình mô phỏng hoạt động của giải thuật Banker.
Học phần: 2122COMP133203 - Hệ Điều Hành
Giảng viên hướng dẫn: ThS . Trần Đức Tâm Ngày 05, tháng 05 năm 2023 lOMoAR cPSD| 22014077
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM TP.HCM
KHOA CÔNG NGHỆ THÔNG TIN
Giảng viên hướng dẫn: ThS . Trần Đức Tâm
Trần Minh Thành...........................................46.01.103.066
Phạm Lê Khánh Minh...................................47.01.104.127
Nguyễn Hoàng Chung...................................47.01.104.224
Võ Khắc Kiệt.................................................47.01.104.118
Lê Kim Hưng................................................47.01.104.095 Ngày 05, tháng 05 năm 2023 MỤC LỤC M Ở ĐẦ U
CHƯƠNG I: HỆ ĐIỀ U HÀNH VÀ KHÁI QUÁT LỊ CH S Ử PHÁT TRI Ể N CÚA CÁC H Ệ
ĐIỀ U HÀNH .................. 1
1. Khái quát v ề h ệ điề u hành ...................................................................................................... ........... 1
2. L ị ch s ử phát tri ể n h ệ điề u hành
...................................................................................................... ... 3
3. Các h ệ điề u hành thông d ụ ng
...................................................................................................... ....... 4 lOMoAR cPSD| 22014077
3.1. H ệ điề u hành MS-DOS ...................................................................................................... ........... 4
3.2. H ệ điề u hành Windows ...................................................................................................... ......... . 4
3.3. Các h ệ điề u hành UNIX và Linux ...................................................
................................................ 5
4. L ị ch s ử h ệ điề u hành Windows qua các phiên b ả n ...................................................
.......................... 6
4.1. H ệ điề u hành DOS ...................................................................................................... ................. . 6
4.2. H ệ điề u hành Windows 1.0 ...................................................................................................... .... 7
4.3. H ệ điề u hành Windows 2.0 ...................................................................................................... .... 7
4.4. H ệ điề u hành Windows 3.0 ...................................................................................................... .... 8
4.5. H ệ điề u hành Windows 3.1 ...................................................................................................... .... 8
4.6. H ệ điề u hành Windows For Workgroup ...................................................
.................................... 8
4.7. H ệ điề u hành Windows NT ...................................................................................................... .... 9
4.8. H ệ điề u hành Windows 95 ...................................................................................................... ..... 9
4.9. H ệ điề u hành Windows 98 ...................................................................................................... ... 10
4.10. H ệ điề u hành Windows Me và Windows 2000 ...................................................
...................... 10
4.11. H ệ điề u hành Windows XP
...................................................................................................... . 11
4.12. H ệ điề u hành Windows Vista ...................................................
................................................ 11
4.13. H ệ điề u hành Windows 7
...................................................................................................... ... 12
4.14. H ệ điề u hành Windows 8
...................................................................................................... ... 12
4.15. H ệ điề u hành Windows 10
...................................................................................................... . 12 lOMoAR cPSD| 22014077
4.16. H ệ điề u hành Windows 11
...................................................................................................... . 13
5. H ệ điề u hành m ạ ng ......................................................................................................
.................... 14
CHƯƠNG 2 XÂY DỰNG CHƯƠNG TRÌNH GIẢI THUẬT BANKER PHÁT HIỆN DEADLOCK 15
1) Deadlock là gì? .....................................................................................................................................15
2) Điều kiện xảy ra Deadlock ...................................................................................................................16
3) Cách giảm khả năng xảy ra Deadlock ................................................................................................16
4) Trạng thái an toàn ................................................................................................................................17
5) Các phương pháp xử lý Deadlock .......................................................................................................17
6) Giới thiệu giải thuật Banker ................................................................................................................18
7) Mô tả chương trình ..............................................................................................................................19
7.1 Đầu vào(Hình 1) ..............................................................................................................................19
7.2) Đầu ra .............................................................................................................................................21
7.3) Code thuật toán banker ................................................................................................................21 lOMoAR cPSD| 22014077 MỞ ĐẦU
Hệ điều hành (Operating System) đặc biệt là một thành phần đặc biệt không thể
thiếu trong hệ thống máy tính, về cơ bản nó có ý nghĩa khá lớn. Mặc dù một máy tính
theo nghĩa đen là đắt tiền, có cấu hình cao, nhưng nếu không có hệ điều hành, nó thực
sự gần như không thể sử dụng một cách đại trà. Hệ điều hành kiểm soát mọi hoạt động
của máy tính, làm cho việc sử dụng máy tính trở nên đơn giản hơn, dễ dàng hơn và
thực sự hiệu quả hơn rất nhiều. Nhờ hệ điều hành, con người có thể giao tiếp và thực
sự đưa ra lệnh cho máy tính, vì vậy về cơ bản nhờ hệ điều hành, con người nói chung
có thể giao tiếp và về cơ bản đưa ra lệnh cho máy tính, điều này chắc chắn là khá quan
trọng. Thông qua hệ điều hành, các ứng dụng thực sự có thể tận dụng lợi thế của các
thư viện phổ biến cơ bản mà không cần quan tâm đến các thông số kỹ thuật phần cứng
cụ thể, cho thấy cách hệ điều hành kiểm soát mọi hoạt động của máy tính, làm cho việc
sử dụng máy tính trở nên đơn giản hơn, cho mọi mục đích và mục đích dễ dàng hơn và
phân loại nhiều. hiệu quả hơn.
Do vậy, ta có thể thấy nhờ hệ điều hành mà con người có thể giao tiếp được với
máy tính một cách dễ dàng nhất, để từ đó máy tính đã giúp chúng ta rất nhiều trong
cuộc sống hiện nay và cả trong tương lai sau này. Vì vậy, lịch sử về hệ điều hành cũng
rất quan trọng, nó giúp chúng ta hiểu hơn về lịch sử phát triển của các hệ điều hành và
giúp chúng ta có một các nhìn chung nhất về sự thay đổi của nó trong quá khứ và tương
lai. Từ đó, thấy được sự vĩ đại của hệ điều hành đem lại cho nhân loại. lOMoAR cPSD| 22014077 1
CHƯƠNG I: HỆ ĐIỀU HÀNH VÀ KHÁI QUÁT LỊCH SỬ
PHÁT TRIỂN CÚA CÁC HỆ ĐIỀU HÀNH
1. Khái quát về hệ điều hành
Hệ điều hành (tiếng Anh: Operating System - viết tắt: OS) là một phần mềm
dùng để điều hành, quản lý toàn bộ tất cả thành phần (bao gồm cả phần cứng và phần
mềm) của thiết bị điện tử. Có vai trò trung gian trong việc giao tiếp giữa người sử dụng và thiết bị
Các máy tính đầu tiên là máy tính lớn không có bất kỳ hình thức hệ điều hành
nào. Mỗi người dùng chỉ sử dụng máy trong một khoảng thời gian theo lịch trình và
sau đó đến máy tính có chương trình và dữ liệu, thường là trên bìa đục lỗ và băng từ
hoặc băng giấy. Chương trình sẽ được tải vào máy và máy sẽ được thiết lập để hoạt
động cho đến khi chương trình hoàn thành hoặc gặp sự cố. Các chương trình thường
có thể được gỡ lỗi thông qua bảng điều khiển bằng cách sử dụng quay số, chuyển đổi công tắc và đèn bảng.
Các ngôn ngữ tượng trưng, hợp ngữ và trình biên dịch đã được phát triển giúp
cho các lập trình viên dịch mã chương trình tượng trưng thành mã máy vốn trước đây
được mã hóa bằng tay. Các máy sau này đi kèm với các thư viện mã hỗ trợ trên bìa đục
lỗ hoặc băng từ, sẽ được liên kết với chương trình của người dùng để hỗ trợ các hoạt
động như vào/ra. Đây là nguồn gốc của hệ điều hành hiện đại; tuy nhiên, máy móc vẫn
chạy một công việc duy nhất tại một thời điểm. Tại Đại học Cambridge ở Anh hàng
đợi công việc đã có thời điểm phải dùng một dây phơi trên đó các băng được treo với
các chốt quần áo có màu khác nhau để biểu thị mức độ ưu tiên công việc.
Khi máy móc trở nên mạnh mẽ hơn, thời gian để chạy các chương trình giảm
dần và thời gian để trao thiết bị cho người dùng tiếp theo trở nên lớn hơn bằng cách so
sánh. Ghi chép và thanh toán cho việc sử dụng máy được chuyển từ kiểm tra đồng hồ
treo tường sang đăng nhập tự động bằng máy tính. Chạy hàng đợi phát triển từ một
hàng người theo nghĩa đen ở cửa, đến rất nhiều phương tiện trên bàn chờ việc, hoặc
hàng loạt thẻ đục lỗ xếp chồng lên nhau trên đầu đọc, cho đến khi chính máy có thể
chọn và sắp xếp các ổ băng từ nào xử lý băng nào. Khi các nhà phát triển chương
trình ban đầu có quyền truy cập để chạy các công việc của riêng họ trên máy, họ được
thay thế bởi các nhà khai thác máy chuyên dụng chăm sóc máy và ngày càng ít quan lOMoAR cPSD| 22014077
tâm đến việc thực hiện các tác vụ theo cách thủ công.Khi các trung tâm máy tính có
sẵn trên thị trường phải đối mặt với hệ lụy của dữ liệu bị mất do giả mạo hoặc lỗi vận
hành, các nhà cung cấp thiết bị đã chịu áp lực phải tăng cường các thư viện thời gian
chạy để ngăn chặn việc lạm dụng tài nguyên hệ thống. Giám sát tự động là cần thiết
không chỉ cho việc sử dụng CPU mà còn để đếm các trang được in, thẻ đục lỗ, đọc thẻ,
lưu trữ đĩa được sử dụng và để báo hiệu khi cần có sự can thiệp của nhà điều hành các
công việc như thay đổi băng từ và mẫu giấy. Các tính năng bảo mật đã được thêm vào
hệ điều hành để ghi lại các đoạn kiểm toán trong đó các chương trình đang truy cập
vào file nào và để ngăn truy cập vào file biên chế sản xuất bởi một chương trình kỹ thuật chẳng hạn.
Tất cả các tính năng này được xây dựng theo hướng một hệ điều hành có khả
năng đầy đủ. Cuối cùng, các thư viện thời gian chạy đã trở thành một chương trình hợp
nhất được khởi động trước công việc của khách hàng đầu tiên và có thể đọc công việc
của khách hàng, kiểm soát việc thực hiện, ghi lại việc sử dụng nó, gán lại tài nguyên
phần cứng sau khi công việc kết thúc và ngay lập tức xử lý công việc tiếp theo. Các
chương trình nền thường trú này, có khả năng quản lý các quy trình nhiều bước, thường
được gọi là giám sát hoặc giám sát chương trình trước khi thuật ngữ "hệ điều hành" được hình thành.
Một chương trình cơ bản cung cấp quản lý phần cứng cơ bản, lập lịch phần mềm
và giám sát tài nguyên có vẻ như là tổ tiên từ xa đối với các hệ điều hành hướng người
dùng trong kỷ nguyên máy tính cá nhân. Nhưng đã có một sự thay đổi trong ý nghĩa
của hệ điều hành. Ngay khi những chiếc ô tô đời đầu thiếu đồng hồ tốc độ, radio và
điều hòa không khí mà sau này trở thành tiêu chuẩn, ngày càng có nhiều tính năng phần
mềm tùy chọn trở thành tính năng tiêu chuẩn trong mọi gói hệ điều hành, mặc dù một
số ứng dụng như Hệ quản trị cơ sở dữ liệu và bảng tính vẫn có giá tùy chọn và riêng
biệt. Điều này đã dẫn đến nhận thức về một hệ điều hành như một hệ thống người dùng
hoàn chỉnh với giao diện người dùng đồ họa tích hợp, các tiện ích, một số ứng dụng
như trình soạn thảo văn bản và trình quản lý file và các công cụ cấu hình.
Hậu duệ thực sự của các hệ điều hành ban đầu là cái mà ngày nay được gọi là
"Kernel". Trong giới kỹ thuật và phát triển, ý thức hạn chế cũ của hệ điều hành vẫn tồn
tại do sự phát triển tích cực của các hệ điều hành nhúng cho tất cả các loại thiết bị có
thành phần xử lý dữ liệu, từ các thiết bị cầm tay cho đến robot công nghiệp và điều
khiển thời gian thực - các hệ thống không chạy ứng dụng người dùng ở mặt trước. Một
hệ điều hành nhúng trong một thiết bị ngày nay không còn bị loại bỏ như người ta có
thể nghĩ từ tổ tiên của những năm 1950. lOMoAR cPSD| 22014077
2. Lịch sử phát triển hệ điều hành
Giai đoạn 1945 - 1955: Người dùng viết chương trình chủ yếu trên ngôn ngữ
máy. Các thiết bị ngoại vi còn nghèo cả về số lượng lẫn chủng loại. Phần mềm trợ giúp
cho người lập trình chỉ là các thư viện chương trình mẫu và một số chương trình phục
vụ. Các ngôn ngữ lập trình đang ở trong giai đoạn hình thành, chưa được đưa ra khai thác rộng rãi.
Giai đoạn 1955 - 1965: Các ngôn ngữ lập trình được sử dụng rộng rãi. Máy tính
được trang bị các chương trình dịch. Hệ thống phần mềm được bổ sung các chương
trình phục vụ nạp, dịch và thực hiện chương trình ứng dụng, đồng thời hỗ trợ một phần
các công việc liên quan tới thiết bị ngoại vi. Những người làm việc với máy tính được
phân thành hai lớp: thao tác viên và người lập trình. Vì vậy, ở giai đoạn này xuất hiện
ngôn ngữ để thao tác viên đưa yêu cầu vào hệ thống và để người lập trình báo cho thao
tác viên biết các công việc cần thực hiện. Đó là ngôn ngữ vận hành hệ thống.
Giai đoạn 1965 - 1980: Với sự ra đời của máy tính thế hệ III, công suất máy tính
tầng một cách đáng kể, máy tính được trang bị nhiều thiết bị ngoại vi đa dạng đòi hỏi
phải có một hệ thống phục vụ với nhiều tính năng mới. Hệ điều hành với các chức năng
như ta thường thấy ngày nay ra đời ở giai đoạn này. Đặc điểm quan trọng của hệ thống
là khả năng đảm bảo môi trường đa nhiệm. Hệ điều hành tiêu biểu của giai đoạn này là
OS IBM 360/370. Trong hệ điều hành này, các nguyên tắc cơ bản về quản lý thiết bị
ngoại vi, quản lý bộ nhớ, điều độ thực hiện chương trình,... được hiện thực hóa một
cách có hiệu quả. Mạng máy tính và hệ điều hành mạng (trên cơ sở OS IBM 360/370)
cũng được ra đời trong những năm bảy mươi của thế kỉ XX.
Giai đoạn sau năm 1980: Đây là giai đoạn phát triển bùng nổ của máy tính cá
nhân. Những hệ điều hành trang bị cho máy tính cá nhân đầu những năm tám mươi thế
kỷ XX như COMMANDOR, APPLE II, IBM PC XT,... còn đơn giản, về tính năng
không khác nhiều với hệ điều hành những năm sáu mươi của thế kỉ XX. Tuy vậy, trên
cơ sở sự phát triển như vũ bão của khoa học công nghệ và được kế thừa kinh nghiệm
xây dựng hệ điều hành trước đó, những hệ điều hành cho các máy tính cá nhân nhanh
chóng đạt đến chuẩn mực đa nhiệm nhiều người dùng. Từ những năm chín mươi của
thế kỷ trước, mạng Internet đã trở nên phổ biến. Hệ điều hành được mở rộng bổ sung
thêm khả năng khai thác có hiệu quả các mạng cục bộ cũng như mạng diện rộng trên cơ sở Internet. lOMoAR cPSD| 22014077
3. Các hệ điều hành thông dụng
Có rất nhiều hệ điều hành của các hãng khác nhau được phổ biến trên thị trường
thế giới. Dưới đây chỉ giới thiệu một số hệ điều hành phổ biến ở Việt Nam.
3.1. Hệ điều hành MS-DOS
Hệ điều hành MS-DOS của hãng Microsoft trang bị cho máy tính cá nhân IBM
PC. Đây là một hệ điều hành đơn giản nhưng hiệu quả, phù hợp với tình trạng thiết bị
của máy tính cá nhân trong thập kỉ tám mươi của thế kỉ XX.
Việc giao tiếp với MS-DOS được thực hiện thông qua hệ thống lệnh.
MS-DOS là hệ điều hành đơn nhiệm một người dùng. Tuy vậy, với các phiên
bản nâng cấp từ 4,01 trở đi, trong MS-DOS đã có các môđun cho phép người dùng có
thể thực hiện đồng thời nhiều chương trình.
3.2. Hệ điều hành Windows
Hiện nay, nhiều máy tính sử dụng hệ điều hành Windows của hãng Microsoft
với các phiên bản cải tiến khác nhau.
Một số đặc trưng chung của Windows là: • Chế độ đa nhiệm;
• Có một hệ thống giao diện dựa trên cơ sở bảng chọn với các biểu tượng
kết hợp giữa đồ hoạ và văn bản giải thích;
• Cung cấp nhiều công cụ xử lý đồ hoạ và đa phương tiện (Multimedia), đảm
bảo khai thác có hiệu quả nhiều loại dữ liệu khác nhau như âm thanh, hình ảnh,...
• Đảm bảo các khả năng làm việc trong môi trường mạng.
Các phiên bản mới hơn của Windows thể hiện các đặc trưng trên ở mức độ tiến bộ hơn.
3.3. Các hệ điều hành UNIX và Linux
Hệ điều hành UNIX do Ken Thompson và Dennis Ritchie thuộc phòng thí
nghiệm Bell của hãng AT&T xây dựng từ những năm 1970. Đây là hệ điều hành đa
nhiệm nhiều người dùng, có khả năng đảm bảo một số lượng rất lớn người dùng đồng
thời khai thác hệ thống.
Một số nét đặc trưng cơ bản của UNIX là:
• UNIX là hệ điều hành đa nhiệm nhiều người dùng. lOMoAR cPSD| 22014077
• Có hệ thống quản lí tập đơn giản và hiệu quả.
• Có một hệ thống phong phú các môđun và chương trình tiện ích hệ thống.
Nét đặc biệt của UNIX là đến 90% các môđun của hệ thống được viết trên ngôn
ngữ lập trình bậc cao C, vì vậy có thể dễ dàng thay đổi, bổ sung để phù hợp với từng
hoàn cảnh cụ thể hoặc chuyển đổi từ loại máy này sang loại máy khác có hệ lệnh không
giống nhau. Một mặt, tính chất này đã làm cho UNIX được triển khai ứng dụng rộng
rãi trên nhiều loại máy khác nhau và hệ thống trở nên mạnh hơn, linh hoạt hơn. Mặt
khác, nó làm cho các phiên bản khác nhau của UNIX có quá nhiều sự khác biệt cơ bản,
mất tính kế thừa và đồng bộ. Vì vậy, từ những năm 80 của thế kỉ XX về sau, người ta
đã đề xuất một loạt các chuẩn cho việc xây dựng UNIX.
Trên cơ sở của UNIX, năm 1991 Linus Torvalds - người Phần Lan, khi còn là
sinh viên, đã phát triển một hệ điều hành mới cho máy tính cá nhân gọi là Linux. Linux
đã cung cấp cả chương trình nguồn của toàn bộ hệ thống, làm cho nó có tính mở rất
cao, tức là mọi người có thể đọc, hiểu các chương trình hệ thống, sửa đổi, bổ sung,
nâng cấp và sử dụng mà không bị vi phạm bản quyền tác giả.
Chính vì vậy, Linux đã thu hút sự chú ý của rất nhiều người trên phạm vi toàn
thế giới và được sao chép, phổ biến với một chi phí rất thấp về tài liệu, đĩa (không phải trả tiền bản quyền).
Tuy nhiên, do hệ điều hành Linux phát triển có tính mở nên không thể có một
công cụ cài đặt mang tính chuẩn mực, thống nhất. Mặt khác, còn ít các phần mềm ứng
dụng chạy trên Linux so với trên Windows nên việc sử dụng Linux còn bị hạn chế.
Mặc dù vậy, do một số đặc tính ưu việt của nó, người ta dự đoán trong tương lai
gần Linux có khả năng cạnh tranh với hệ điều hành Windows. Ngày nay, Linux được
sử dụng khá phổ biến ở châu Âu, nhất là trong các trường học và khuynh hướng này ngày càng phát triển.
4. Lịch sử hệ điều hành Windows qua các phiên bản
4.1. Hệ điều hành DOS
Windows được phát triển từ hệ điều hành DOS ban đầu của Microsoft, đây là hệ
điều hành được phát hành năm 1981. Hệ điều hành mới này đã được Bill Gates và Paul
Allen phát triển để chạy trên máy tính cá nhân IBM, với giao diện hoàn toàn bằng văn
bản và các lệnh người dùng giản đơn.
Thời điểm đó, DOS được cài sẵn trên các máy tính cá nhân IBM và được bán
dưới dạng một gói riêng bởi Microsoft. Vì hệ điều hành là Microsoft Disk Operating lOMoAR cPSD| 22014077
System, thường được gọi là MS-DOS và vì sử dụng dựa trên dòng lệnh nên DOS không
thân thiện và không thực sự phù hợp với hầu hết mọi người, vì yêu cầu người dùng
phải nhớ các lệnh để thực thi. Do đó, những người chỉ có kiến thức về DOS mới có thể sử dụng chúng.
Hệ điều hành DOS sử dụng rất ít bộ nhớ và thời điểm đó các máy tính chỉ có 640K bộ nhớ.
4.2. Hệ điều hành Windows 1.0
Microsoft tin rằng các máy tính các nhân sẽ trở thành xu thế chủ đạo, chúng phải
dễ dàng hơn trong sử dụng, bảo vệ cho sự tin tưởng đó chính là giao diện đồ họa người
dùng (GUI - graphical user interface) thay cho giao diện dòng lệnh của DOS. Với quan
điểm đó, Microsoft đã bắt tay vào thực hiện phiên bản mở đầu của Windows vào năm
1983, và sản phẩm cuối cùng được phát hành ra thị trường vào tháng 11 năm 1985.
Phiên bản đầu tiên của Windows này chỉ có một vài tiện ích sơ đẳng như: chương
trình đồ họa Windows Paint, bộ soạn thảo văn bản Windows Write, bộ lịch biểu,
notepad và một đồng hồ. Tuy nhiên thời đó Windows 1.0 cũng có Control Panel, đây
là thành phần được sử dụng để cấu hình các tính năng khác cho môi trường, và MS-
DOS Executive – kẻ tiền nhiệm cho bộ quản lý file Windows Explorer ngày nay.
4.3. Hệ điều hành Windows 2.0
Phiên bản thứ hai của Windows được phát hành vào năm 1987, đây là phiên bản
được cải tiến dựa trên phiên bản Windows 1.0. Phiên bản mới này đã bổ sung thêm các
cửa sổ có khả năng xếp chồng nhau và cho phép tối thiểu hóa các cửa sổ để chuyển qua
lại trong desktop bằng chuột.
Trong phiên bản này, Windows 2.0 đã có trong nó các ứng dụng Word và Excel
của Microsoft. Lúc này Word và Excel là các ứng dụng đồ họa cạnh tranh với các đối
thủ khi đó WordPerfect và Lotus 1-2-3; các ứng dụng của Microsoft cần một giao diện
đồ họa để có thể chạy hợp thức, do đó Microsoft đã tích hợp chúng vào với Windows.
Lúc này không có nhiều ứng dụng tương thích với Windows. Chỉ có một ngoại
lệ đáng lưu ý đó là chương trình Aldus PageMaker.
4.4. Hệ điều hành Windows 3.0
Windows 3.0, phát hành năm 1990, là phiên bản thương mại thành công đầu tiên
của hệ điều hành, Microsoft đã bán được khoảng 10 triệu bản trong hai năm trước khi
nâng cấp lên 3.1. Đây là phiên bản hệ điều hành đa nhiệm đích thực đầu tiên. lOMoAR cPSD| 22014077
Windows 3.0 là một cải thiện lớn so với các phiên bản trước đây. Giao diện của
nó đẹp hơn nhiều với các nút 3D và người dùng có thể thay đổi màu của desktop (tuy
nhiên thời điểm này chưa có các ảnh nền). Các chương trình được khởi chạy thông qua
chương trình Program Manager mới, và chương trình File Manager mới đã thay thế
cho chương trình MS-DOS Executive cũ trong vấn đề quản lý file. Đây cũng là phiên
bản đầu tiên của Windows có trò chơi Solitaire trong đó. Một điều quan trọng nữa là
Windows 3.0 có một chế độ Protected/Enhanced cho phép các ứng dụng Windows
nguyên bản có thể sử dụng bộ nhớ nhiều hơn hệ điều hành DOS của nó.
4.5. Hệ điều hành Windows 3.1
Windows 3.1, phát hành năm 1992, có thể coi là một nâng cấp cho phiên bản
3.0. Phiên bản này không chỉ có các bản vá lỗi cần thiết mà nó còn là phiên bản đầu
tiên mà Windows hiển thị các font TrueType –làm cho Windows trở thành một nền
tảng quan trọng cho các máy desktop. Một điểm mới nữa trong Windows 3.1 là bộ bảo
vệ màn hình và hoạt động kéo và thả.
4.6. Hệ điều hành Windows For Workgroup
Cũng được phát hành vào năm 1992, Windows cho các nhóm làm việc (viết tắt
là WFW), là phiên bản dùng để kết nối đầu tiên của Windows. Ban đầu được phát triển
như một add-on của Windows 3.0, tuy nhiên WFW đã bổ sung thêm các driver và các
giao thức cần thiết (TCP/IP) cho việc kết nối mạng ngang hàng. Đây chính là phiên
bản WFW của Windows thích hợp với môi trường công ty.
Với WFW, các phát hành của Windows được chia thành hai hướng: hướng dành
cho khách hàng, được thiết kế dành cho sử dụng trên các máy tính PC riêng lẻ, hiện
thân là Windows 3.1 và Windows 95 sắp ra đời, và một hướng là dành cho khối doanh
nghiệp, được thiết kế để sử dụng trên các máy tính có kết nối mạng, hiện thân là WFW
và Windows NT sắp ra đời.
4.7. Hệ điều hành Windows NT
Được ra mắt vào năm 1993, Windows NT (New Technology) chủ yếu hướng
đến đối tượng là người dùng doanh nghiệp và được sản xuất cho các máy trạm và máy
chủ với các tính năng bảo mật quan trọng.
Windows NT cũng lần đầu tiên giới thiệu giao thức truyền thông mạng TCP/IP,
đây là giao thức vẫn đang còn được sử dụng để truy cập Internet ngày nay. Phiên bản
này còn hỗ trợ kết nối mạng nội bộ, có thể tạo nhiều tài khoản trên một máy tính. lOMoAR cPSD| 22014077
Phục vụ cho khách hàng doanh nghiệp, Windows NT đã có hai phiên bản:
Workstation và Server. NT Workstation được dành cho các PC riêng rẽ trên mạng công
ty, còn NT Server có nhiệm vụ máy chủ cho tất cả các PC được kết nối với nhau.
Với những khả năng cải thiện về công nghệ kết nối mạng, NT đã trở thành một
hệ điều hành chủ đạo cho các máy chủ và máy trạm doanh nghiệp trên toàn thế giới.
Nó cũng là cơ sở cho hệ điều hành Windows XP, hệ điều hành sát nhập hai luồng
Windows thành một hệ điều hành chung vào năm 2001.
4.8. Hệ điều hành Windows 95
Windows 95 ra đời tháng 9 – 1995, đây là hệ điều hành thế hệ mới trong các hệ
điều hành mà hăng Microsoft cung cấp cho thị trường thế giới. Chế độ đa nhiệm được
định hướng cho một người dùng, các chương trình thực hiện trong Windows 95 có thể
đồng thời sử dụng chung các tài nguyên của hệ thống.
Windows 95 có diện mạo đẹp hơn và khả năng làm việc cũng tốt hơn, cả hai thứ
đó đều đạt được mong mỏi của người dùng sau nhiều năm chờ đợi. Đây là một hệ điều
hành được viết lại phần lớn và đã cải thiện được giao diện người dùng và đưa Windows sang nền tảng 32-bit.
Windows 95 đã xuất hiện Taskbar, thanh tác vụ này có các nút cho các cửa sổ
mở. Nó cũng là phiên bản đầu tiên của Windows có sử dụng nút Start và menu Start,
các shortcut trên desktop, kích phải chuột và các tên file dài cũng lần đầu tiên xuất hiện trong phiên bản này.
Chế độ bảo vệ áp dụng trong Windows 95 làm cho hệ thống không bị phá hỏng
khi một chương trình ứng dụng gặp lỗi trong quá trình thực hiện, đồng thời làm cho hệ
thống an toàn hơn trước tác động của virus.
4.9. Hệ điều hành Windows 98
Windows 98, cũng được lấy tên năm phát hành của nó (1998), là một thay đổi
mang tính cách mạng so với phiên bản trước đó. Diện mạo bên ngoài của nó đẹp hơn
Windows 95 khá nhiều, và thậm chí nó còn có nhiều cải thiện hữu dụng bên trong.
Những cải thiện ở đây như sự hỗ trợ cho USB, chia sẻ kết nối mạng và hệ thống
file FAT32, tuy tất cả đều những cải thiện này rất đáng giá nhưng không làm cho cả
thế giới choáng ngợp như lần ra mắt của Windows 95.
4.10. Hệ điều hành Windows Me và Windows 2000 Windows Me: lOMoAR cPSD| 22014077
Microsoft phát hành phiên bản Windows Millennium edition vào năm 2000.
Windows Me, có lẽ là lỗi lớn nhất của Microsoft, một nâng cấp thứ yếu với rất nhiều
lỗi thay vì sửa các lỗi trước đó.
Trong phiên bản mới này, Microsoft đã nâng cấp các tính năng Internet và
multimedia của Windows 98, bổ sung thêm ứng dụng Windows Movie Maker, giới
thiệu tiện ích System Restore – tất cả đều là những ứng dụng tốt. Tuy nhiên điều đáng
chú ý nhất trong Windows Me đó là hiện tượng dễ đổ vỡ và hệ thống dễ bị treo. Nguyên
nhân này đã làm cho nhiều khách hàng và các doanh nghiệp bỏ qua toàn bộ nâng cấp này. Windows 2000:
Được phát hành gần như đồng thời với phát hành dành cho khách hàng Windows
Me, Windows 2000 là một nâng cấp thành công cho khối doanh nghiệp của Microsoft.
Kế vị ngay sau Windows NT, Windows 2000 là một sự tiến hóa từ nền tảng cơ bản
NT, và vẫn nhắm đến thị trường doanh nghiệp.
Không giống như NT, Windows 2000 có hai phiên bản (Workstation và Server),
Windows 2000 có đến 5 phiên bản khác nhau: Professional, Server, Advanced Server,
Datacenter Server và Small Business Server. Tất cả các phiên bản đều kết hợp chặt chẽ
các tính năng từ Windows 95/98 và tạo nên một giao diện đẹp mắt và tinh tế.
4.11. Hệ điều hành Windows XP
Một bước nhảy vọt khác trong sự phát triển của hệ điều hành Microsoft xảy ra
vào ngày 25 tháng 10 năm 2001, khi Windows XP được tung ra. Phiên bản Windows
này là sự kết hợp của Windows NT/2000 và Windows 95/98/ME và được phát hành
với hai phiên bản khác nhau: Home và Professional.
Windows XP nhận được nhiều chỉ trích, chủ yếu liên quan đến vấn đề nn ninh.
Để giải quyết mối lo ngại này, Windows đã phát hành gói dịch vụ Service Pack in
2002, sau đó tiếp tục phát hành một loạt gói dịch vụ bảo mật khác để bảo vệ ổn định hệ thống.
Ở khía cạnh trực quan, Windows XP nổi bật với những cải tiến đáng kể trong
giao diện người dùng với các biểu tượng, menu và thông số mới cho phép người dùng
đi sâu hơn và kiểm soát tất cả các loại tác vụ trong hệ thống. Nhưng Windows XP
không chỉ cung cấp các cải tiến về đồ họa mà còn tăng đáng kể tốc độ và khả năng cơ động. lOMoAR cPSD| 22014077
Windows XP được tích hợp các tính năng như mã hóa các tập tin hệ thống, hỗ
trợ mạng Wi-Fi và hỗ trợ từ xa. Phiên bản này được hỗ trợ tiêu chuẩn đến ngày 14
tháng 4 năm 2009, trong khi hỗ trợ mở rộng đến ngày 8 tháng 4 năm 2014.
4.12. Hệ điều hành Windows Vista
Được phát hành năm 2007, phiên bản Windows này đã phát triển các tính năng
của XP và bổ sung thêm sự bảo mật và độ tin cậy, chức năng truyền thông số được cải
thiện và giao diện đồ họa Aero UI, mang lại sự hấp dẫn về mặt hình ảnh nhưng lại tạo
gánh nặng lên các máy tính có cấu hình kém mạnh mẽ hơn, vấn đề chậm chạp và quá
tải đã làm lu mờ những tính năng mới về đồ họa.
Cùng với nhiều nguyên nhân khác đã khiến Windows Vista trở thành một thất
bại trong lịch sử hệ điều hành, bất chấp sự kỳ vọng cao của Microsoft. Phiên bản này
được hỗ trợ tiêu chuẩn cho đến ngày 10 tháng 4 năm 2012 và hỗ trợ mở rộng kéo dài
đến ngày 11 tháng 4 năm 2017.
4.13. Hệ điều hành Windows 7
Ngày 22 tháng 10 năm 2009, Microsoft công bố phát hành Windows 7 thay thế
cho Windows Vista và trở thành một trong những phiên bản hệ điều hành quan trọng nhất của Microsoft.
Hỗ trợ cảm ứng đa điểm, giao diện Windows được thiết kế lại, thanh tác vụ mới,
hệ thống mạng, cải tiến hiệu năng và tốc độ, cũng như giảm mức tiêu thụ tài nguyên…
tất cả đều đã được thêm vào hệ thống này.
Ngoài ra, Windows 7 đã giới thiệu một thiết kế mới cho thanh tác vụ, làm cho
nó rộng hơn và một hệ thống với các biểu tượng lớn. Hỗ trợ tiêu chuẩn cho Windows
7 kéo dài đến ngày 13 tháng 1 năm 2015 và hỗ trợ mở rộng đến ngày 14 tháng 1 năm 2020.
4.14. Hệ điều hành Windows 8
Windows 8 được phát hành vào ngày 26 tháng 10 năm 2012.
Đổi mới đáng chú ý: Microsoft biết phải đạt được chỗ đứng trong thế giới di
động, bao gồm cả điện thoại và máy tính bằng, nhưng họ không muốn từ bỏ người
dùng máy tính để bàn và máy tính xách tay truyền thống. Vì vậy, họ đã cố gắng để tạo
ra một hệ điều hành lai (hybrid OS), có thể hoạt động tốt trên cả thiết bị cảm ứng và
không cảm ứng. Nhưng hiệu quả mà Windows 8 mang lại không được như mong đợi, lOMoAR cPSD| 22014077
Microsoft đã bỏ đi nút Start còn người dùng thì luôn cảm thấy bối rối khi sử dụng Windows 8.
4.15. Hệ điều hành Windows 10
Ngày 29 tháng 7 năm 2015, Microsoft đã phát hành phiên bản mới nhất và được
mong đợi của hệ điều hành Windows 10. Một phiên bản có một bộ ứng dụng lớn và
giao diện hiện đại với hiệu năng tốt nhất. Bản chất đa nền tảng của hệ thống mới cho
phép sử dụng phiên bản hệ điều này trên cả máy tính và thiết bị di động.
Nhưng đây không phải là những cải tiến duy nhất, vì các ứng dụng phổ thông
cũng rất đáng chú ý như: Trình duyệt Edge mới, trợ lý Cortana, ứng dụng Settings mới,
TimeLine và sự trở lại menu Start, tính năng mà đa số người dùng đều muốn quay trở
lại. Nhìn chung, đây là phiên bản Windows tốt nhất cho đến nay và là sản phẩm đáp
ứng tốt nhu cầu của người dùng.
4.16. Hệ điều hành Windows 11
Windows 11 là hệ điều hành mới nhất của Microsoft được công bố vào ngày 24 tháng 6 năm 2021.
Windows 11 có thiết kế giao diện hoàn toàn mới, nhìn thời thượng và mềm mại
hơn. Với Start menu được đưa vào giữa, người dùng có thể truy cập nhanh vào những
nội dung và ứng dụng mà họ quan tâm cũng như xem các tệp mà họ đã xử lý gần đây
nhất, bất kể trước đấy họ truy cập trên thiết bị nào, Android hay iOS, nhờ sức mạnh
của Cloud và Microsoft 365. Các Live Tiles cũng được thay thế bằng một lưới các biểu
tượng có thể được sắp xếp lại hoặc ghim vào Start menu mới.
Đối với Taskbar, người dùng sẽ thấy các biểu tượng được bố trí thoáng hơn.
Microsoft cũng thêm các điểm cảm ứng lớn hơn và các dấu hiệu trực quan tinh tế hơn
nhằm giúp người dùng thay đổi kích thước và di chuyển cửa sổ dễ dàng hơn.
Bên cạnh đó, Windows 11 tận dụng tối đa sức mạnh của công nghệ trí tuệ nhân
tạo để cá nhân hóa bảng tin Widgets, tự động đưa ra những nội dung mà người dùng
quan tâm dựa vào phân tích sở thích và các truy cập cũ.
Đặc biệt, Microsoft Store trên bản cập nhật mới này được phép tải và sử dụng
các ứng dụng Android, hỗ trợ tính năng trò chuyện thông qua Microsoft Teams, cùng
nhiều ứng dụng dành cho người khuyết tật.
So với phiên bản tiền nhiệm, hiệu suất được coi là điểm nâng cấp lớn trên lOMoAR cPSD| 22014077
Windows 11. Ngoài ra, bản Windows mới có dung lượng nhẹ hơn 40% so với
Windows 10, đồng thời ứng dụng cũng hoạt động hiệu quả hơn trong chế độ nền.
Windows 11 còn được cải thiện chế độ sáng và tối cùng tác vụ chia màn hình đẹp hơn.
Đối với máy tính bảng, Windows 11 mang đến những cải tiến mới giúp nâng
cao trải nghiệm khi thao tác cảm ứng. Ngoài ra, bản cập nhật này còn được bổ sung
một bàn phím cảm ứng mới tốt hơn nhiều so với bàn phím trên thế hệ tiền nhiệm.
Tuy nhiên, vì mới ra mắt nên hệ điều hành này sẽ không đảm bảo tính ổn định
hệ thống và có thể xuất hiện lỗi không mong muốn bất kỳ lúc nào.
Hiện vẫn chưa rõ khả năng tương thích đối với các phần mềm của bên thứ ba
trên Windows 11. Đặc biệt, nhiều tính năng, ứng dụng đang hoạt động trơn tru trên
Windows 10 có thể chạy chậm hoặc không tương thích trên Windows 11.
5. Hệ điều hành mạng
Sự ra đời và phát triển của các mạng máy tính: Mạng cục bộ và mạng diện rộng
đòi hỏi phải có hệ điều hành với nhiều chức năng phục vụ quản lí mạng, đảm bảo an
toàn và bảo mật. Những hệ điều hành này được gọi là hệ điều hành mạng.
Novell NetWare là hệ điều hành mạng phổ cập rộng rãi đầu tiên trên các máy
tính cá nhân, phục vụ cho việc tổ chức mạng cục bộ.
Windows NT Server là hệ điều hành mạng với các công cụ quản lí tệp hiệu quả
cao, sử dụng cho các máy chủ của mạng cục bộ. Windows 2000 Server là hệ điều hành
cho máy chủ của mạng, cung cấp nhiều dịch vụ kết nối với mạng Internet cho mạng cục bộ.
Hai hệ điều hành mạng Unix và Linux có đầy đủ các tính năng đa nhiệm, nhiều
người dùng và phục vụ truyền thông tốt. Unix cũng như Linux hỗ trợ tốt môi trường
lập trình và các ứng dụng mạng.
CHƯƠNG 2 XÂY DỰNG CHƯƠNG TRÌNH GIẢI THUẬT
BANKER PHÁT HIỆN DEADLOCK 1) Deadlock là gì?
Deadlock là hiện tượng mà một hay nhiều lệnh trong database tranh chấp tài nguyên
với nhau mà trong đó một lệnh giữ tài nguyên mà lệnh còn lại cần. Điều này dẫn đến
việc không có lệnh nào có thể kết thúc để tiến hành giải phóng tài nguyên. Nếu hiện
tượng này không được xử lý thì sẽ xuất hiện tình trạng các câu lệnh phải chờ nhau và
tất nhiên không một tiến trình nào có thể được thực hiện tiếp. lOMoAR cPSD| 22014077 Giả sử:
Transaction T1 thực hiện lock một số hàng trong bảng student và cần thiết phải cập
nhật một số hàng khác trong bảng Grades.
Transaction T2 lock trên những bản ghi mà Transaction T1 cần cập nhật trong bảng
Grades nhưng phải cập nhật các bản ghi có trong bảng students do Transaction T1 nắm giữ.
Điều này dẫn đến vấn đề phát sinh đó là:
Transaction T1 chờ Transaction T2 giải phóng tài nguyên.
Transaction T2 cũng chờ Transaction T1 giải phóng tài nguyên.
Kết quả thu được là mọi hoạt động trong cơ sở dữ liệu đều dừng lại và tồn tại mãi mãi
cho đến khi deadlock được phát hiện và được tiến hành hủy bỏ trong Transaction T1 hoặc trong Transaction T2.
Những sai lệch khi bạn thao tác với database thường để lại những hậu quả vô cùng
nghiêm trọng và lock chính là một chiến lược tối ưu có thể ngăn chặn được hiện
tượng này. Tuy nhiên, Deadlock lại hoàn toàn khác biệt bởi nó sẽ dẫn đến việc không
một câu lệnh nào có thể được thực hiện.
Dưới chế độ điều hành thông thường, tài nguyên chỉ được sử dụng theo môt quá trình với thứ tự như sau:
Yêu cầu: Nếu các yêu cầu không được gán một cách tức thì thì quá trình đang yêu cầu
phải chờ cho đến khi nhận được tài nguyên thì mới có thể tiếp tục tiến trình.
Sử dụng: Quá trình điều hành tài nguyên.
Hoàn trả: Quá trình có thể giải phóng tài nguyên.
2) Điều kiện xảy ra Deadlock
Trường hợp deadlock có thể phát sinh nếu bốn điều kiện sau xảy ra cùng một lúc trong hệ thống:
Mutal exclusion: ít nhất một tài nguyên phải được giữ trong chế độ không chia sẻ;
nghĩa là, chỉ một quá trình tại cùng một thời điểm có thể sử dụng tài nguyên. Nếu một
quá trình khác yêu cầu tài nguyên đó, quá trình yêu cầu phải tạm dừng cho đến khi tài
nguyên được giải phóng.
Hold and wait: quá trình phải đang giữ ít nhất một tài nguyên và đang chờ để nhận tài
nguyên thêm mà hiện đang được giữ bởi quá trình khác.
No preemption: Các tài nguyên không thể bị đòi lại; nghĩa là, tài nguyên có thể được
giải phóng chỉ tự ý bởi quá trình đang giữ nó, sau khi quá trình đó hoàn thành tác vụ. lOMoAR cPSD| 22014077
Circular wait: một tập hợp các quá trình {P0, P1,…,Pn} đang chờ mà trong đó P0
đang chờ một tài nguyên được giữ bởi P1, P1 đang chờ tài nguyên đang giữ bởi
P2,…,Pn-1 đang chờ tài nguyên đang được giữ bởi quá trình P0.
Chúng ta nhấn mạnh rằng tất cả bốn điều kiện phải cùng phát sinh để deadlock xảy
ra. Điều kiện chờ đợi chương trình đưa đến điều kiện giữ và chờ vì thế bốn điều kiện
không hoàn toàn độc lập.
3) Cách giảm khả năng xảy ra Deadlock
Một phương pháp khác để tránh deadlock là yêu cầu thông tin bổ sung về cách tài
nguyên được yêu cầu. Thí dụ, trong một hệ thống với một ổ băng từ và một máy in,
chúng ta có thể bảo rằng quá trình P sẽ yêu cầu ổ băng từ trước và sau đó máy in
trước khi giải phóng cả hai tài nguyên. Trái lại, quá trình Q sẽ yêu cầu máy in trước
và sau đó ổ băng từ. Với kiến thức về thứ tự hoàn thành của yêu cầu và giải phóng
cho mỗi quá trình, chúng ta có thể quyết định cho mỗi yêu cầu của quá trình sẽ chờ
hay không. Mỗi yêu cầu đòi hỏi hệ thống xem tài nguyên hiện có, tài nguyên hiện
được cấp tới mỗi quá trình, và các yêu cầu và giải phóng tương lai của mỗi quá trình,
để yêu cầu của quá trình hiện tại có thể được thoả mãn hay phải chờ để tránh khả năng xảy ra deadlock.
Các giải thuật khác nhau có sự khác nhau về lượng và loại thông tin được yêu cầu.
Mô hình đơn giản và hữu ích nhất yêu cầu mỗi quá trình khai báo số lớn nhất tài
nguyên của mỗi loại mà nó cần. Thông tin trước về số lượng tối đa tài nguyên của
mỗi loại được yêu cầu cho mỗi quá trình, có thể xây dựng một giải thuật đảm bảo hệ
thống sẽ không bao giờ đi vào trạng thái deadlock. Đây là giải thuật định nghĩa tiếp
cận tránh deadlock. Giải thuật tránh deadlock tự xem xét trạng thái cấp phát tài
nguyên để đảm bảo điều kiện tồn tại chu trình trong đồ thị cấp phát tài nguyên có thể
không bao giờ xảy ra. Trạng thái cấp phát tài nguyên được định nghĩa bởi số tài
nguyên sẳn dùng và tài nguyên được cấp phát và số yêu cầu tối đa của các quá trình. 4) Trạng thái an toàn
Một trạng thái là an toàn nếu hệ thống có thể cấp phát các tài nguyên tới mỗi quá
trình trong một vài thứ tự và vẫn tránh deadlock. Hay nói cách khác, một hệ thống ở
trong trạng thái an toàn chỉ nếu ở đó tồn tại một thứ tự an toàn. Thứ tự của các quá
trình là một thứ tự an toàn cho trạng thái cấp phát hiện hành nếu đối
với mỗi thứ tự Pi, các tài nguyên mà Pi yêu cầu vẫn có thể được thoả mãn bởi tài
nguyên hiện có cộng với các tài nguyên được giữ bởi tất cả Pj, với jhợp này, nếu những tài nguyên mà quá trình Pi yêu cầu không sẳn dùng tức thì thì Pi
có thể chờ cho đến khi tất cả Pj hoàn thành. Khi chúng hoàn thành, Pi có thể đạt được
tất cả những tài nguyên nó cần, hoàn thành các tác vụ được gán, trả về những tài
nguyên được cấp phát cho nó và kết thúc. Khi Pi kết thúc, Pi+1 có thể đạt được các
tài nguyên nó cần,... Nếu không có thứ tự như thế tồn tại thì trạng thái hệ thống là không an toàn.
Một trạng thái an toàn không là trạng thái deadlock. Do đó, trạng thái deadlock là
trạng thái không an toàn. Tuy nhiên, không phải tất cả trạng thái không an toàn là lOMoAR cPSD| 22014077
deadlock. Một trạng thái không an toàn có thể dẫn đến deadlock. Với điều kiện trạng
thái là an toàn, hệ điều hành có thể tránh trạng thái không an toàn (và deadlock).
Trong một trạng thái không an toàn, hệ điều hành có thể ngăn chặn các quá trình từ
những tài nguyên đang yêu cầu mà deadlock xảy ra: hành vi của các quá trình này
điều khiển các trạng thái không an toàn.
5) Các phương pháp xử lý Deadlock
Phần lớn, có thể giải quyết vấn đề deadlock theo một trong ba cách:
Sử dụng một giao thức để ngăn chặn hay tránh deadlocks, đảm bảo rằng hệ thống sẽ
không bao giờ đi vào trạng thái deadlock
Cho phép hệ thống đi vào trạng thái deadlock, phát hiện nó và phục hồi.
Bỏ qua hoàn toàn vấn đề này và giả vờ deadlock không bao giờ xảy ra trong hệ thống.
Giải pháp này được dùng trong nhiều hệ điều hành, kể cả UNIX.
Nếu một hệ thống không dùng giải thuật ngăn chặn hay tránh deadlock thì trường hợp
deadlock có thể xảy ra. Trong môi trường này, hệ thống có thể cung cấp một giải
thuật để xem xét trạng thái của hệ thống để xác định deadlock có xảy ra hay không và
giải thuật phục hồi từ deadlock.
Nếu hệ thống không đảm bảo rằng deadlock sẽ không bao giờ xảy ra và cũng không
cung cấp một cơ chế để phát hiện và phục hồi deadlock thì có thể dẫn đến trường hợp
hệ thống ở trong trạng thái deadlock. Trong trường hợp này, deadlock không được
phát hiện sẽ làm giảm năng lực hệ thống vì tài nguyên đang được giữ bởi những quá
trình mà chúng không thể thực thi, đi vào trạng thái deadlock. Cuối cùng, hệ thống sẽ
dừng các chức năng và cần được khởi động lại bằng thủ công.
Mặc dù phương pháp này dường như không là tiếp cận khả thi đối với vấn đề
deadlock nhưng nó được dùng trong một số hệ điều hành. Trong nhiều hệ thống,
deadlock xảy ra không thường xuyên; do đó phương pháp này là rẻ hơn chi phí cho
phương pháp ngăn chặn deadlock, tránh deadlock, hay phát hiện và phục hồi
deadlock mà chúng phải được sử dụng liên tục.
Trong một số trường hợp, hệ thống ở trong trạng thái cô đặc nhưng không ở trạng
thái deadlock. Như thí dụ, xem xét một quá trình thời thực chạy tại độ ưu tiên cao
nhất (hay bất cứ quá trình đang chạy trên bộ định thời biểu không trưng dụng) và
không bao giờ trả về điều khiển đối với hệ điều hành. Do đó, hệ thống phải có
phương pháp phục hồi bằng thủ công cho các điều kiện không deadlock và có thể đơn
giản sử dụng các kỹ thuật đó cho việc phục hồi deadlock.
6) Giới thiệu giải thuật Banker
Giải thuật đồ thị cấp phát tài nguyên không thể áp dụng tới hệ thống cấp phát tài
nguyên với nhiều thể hiện của mỗi loại tài nguyên. Giải thuật tránh deadlock mà
chúng ta mô tả tiếp theo có thể áp dụng tới một hệ thống nhưng ít hiệu quả hơn cơ
chế đồ thị cấp phát tài nguyên. Giải thuật này thường được gọi là giải thuật của
Banker. Tên được chọn vì giải thuật này có thể được dùng trong hệ thống ngân hàng