1. Trang chủ
  2. » Luận Văn - Báo Cáo

báo cáo tiểu luận môn hệ điều hành đề tài nghiên cứu về deadlock trong windows 10

28 0 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Trang 1

2 3 4 5 6 7 8 910 11 12 13 14 15 16 17 18 19 20

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP VINH

BÁO CÁO TIỂU LUẬN MÔN HỆ ĐIỀU HÀNH

ĐỀ TÀI: NGHIÊN CỨU VỀ DEADLOCK TRONGWINDOWS 10

21 22 23 24 25 26 27 28 29

SVTH: 1 Mangmany Khouanechay2 Phomdala Daovy GVHD: Phan Thị Thu Hiền LỚP: K7DCNTT

GVHD: 1 điểm

Vinh, 01/2022

MSSV: 20001016MSSV: 20001018

Trang 2

522.4.1Những điều kiện cần thiết gây ra deadlock 9

532.4.2Đồ thị cấp phát tài nguyên 10

542.5 Các phương pháp xử lý deadlock

13 552.6 Ngăn chặn deadlock

15 562.6.1Loại trừ hỗ tương

15 572.6.2Giữ và chờ cấp thêm tài nguyên

15 582.6.3Không đòi lại tài nguyên từ quá trình đang giữ chúng

16 592.6.4Tồn tại chu trình trong đồ thị cấp phát tài nguyên

Trang 3

612.7.1Trạng thái an toàn 1962KẾT LUẬN 2163TÀI LIỆU THAM KHẢO 2264

65

Trang 4

66 LỜI MỞ ĐẦU

67 Hệ điều hành (Operating Systems) là một thành phần không thể thiếu trong một hệ68 thống máy tính Một máy tính mặc dù đắt tiền, cấu hình cao nhưng nếu không có hệ điều69 hành thì hầu như không thể sử dụng được Hệ điều hành điều khiển mọi hoạt động của máy70 tính, giúp việc sử dụng máy tính trở nên đơn gian, dễ dàng và hiểu quả hơn rất nhiều.71 Trong bài tiểu luận này nhóm chúng em sẽ trình bày về “vấn đề bế tắc (Deadlook)72 trong Windows”

73 Xin chân thành cảm ơn!

Phomdala Daovy

Trang 5

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP VINH

-&&&&& -Độc lập – Tự do – Hạnh phúc -&&&&& -

7879 NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN80 1 Tính tương tác của nhóm trong quá trình làm đồ án/báo cáo:………

Trang 6

Báo cáo tiểu luận GVHD:ThS.Phan Thị Thu Hiền

CHƯƠNG 1

TỔNG QUAN VỀ HỆ ĐIỀU HÀNH1.1.Khái niệm hệ điều hành.

Hệ điều hành là một phần mềm hệ thống dùng để điều hành, quản lí các thiết bị phần cứng và các tài nguyên phần mềm trên máy tính Hệ điều hành đóng vai trò trung gian trong việc giao tiếp giữa người sử dụng và phần cứng máy tính, cung cấp một môi trường cho phép người sử dụng phát triển và thực hiện ứng dụng của họ một cách dễ dàng Khi khởi động máy tính, phàn mềm hệ điều hành được khởi động đầu tiên, sau đó người sử dụng mới có thể sử dụng được các chưomg trình ứng dụng khác thông qua giao diện tương tác do hệ điều hành cung cấp Chương trình hệ diều hành luôn thường trực trong suốt quá trình máy hoạt động Khi tắt máy tính, phần mềm hệ điều hành được tắt cuối cùng để kết thúc phiên làm việc với máy.

Nhiệm vụ cơ bản của hệ điều hành

• Điều khiển và quản lí trực tiếp các phần cứng.

• Thực hiện một số thao tác cơ bản trong máy tính như các thao tác đọc, viếttập tin, quản lí hệ thống tập tin và các kho dữ liệu.

• Cung cấp một hệ thống giao diện sơ khai cho các ứng dụng, thường thôngqua một hệ thống thư viện các hàm chuẩn để điều hành các phân cứng mà từđó các ứng dụng có thể gọi tới.

• Cung cấp một hệ thống lệnh cơ bản để điều hành máy Các lệnh này gọi làlệnh hệ thống (system command).

• Ngoài ra, hệ điều hành còn cung cấp một số phần mềm ứng dụng cơ bản như:trình duyệt web, chương trình soạn thảo văn bản, chương trình nghe nhạc, chương trình chỉnh sửa ảnh.

Hiện nay, các máy tính cá nhân chù yếu sử dụng hai họ hệ điều hành phổ biến làhọ Unix và họ Microsoft Windows.

• Windows là hệ điều hành được sử dụng nhiều nhất trong các máy tính cánhân, vì nó có đồ hoạ rất thân thiện với người sử dụng Hệ điều hành này

Trang 7

được phát triển bởi công ty phần mềm nồi tiếng Microsoft, gồm các phiên bản: Windows 95, Windows 98, Windows NT, Windows 2000, Windows ME, Windows XP, Windows Vista, Windows 7, Windows 8, Windows10 • Unix là hệ diều hành được sử dụng nhiều trong các máy tính lớn như mini,

mainframe Hệ điều hành Unix có nhiều ưu điểm nổi bật như: cơ chế phân quyền người sử dụng tốt, có các modun giao diện với các thiết bị ngoại vi mạnh, Unix có nhiều phiên bản như: SOLARIS của công ty Sun, AIX của IBM, Alpha Unix của DEC, và đặc biệt là các phiên bản miễn phí mã nguồn mở thuộc dòng LINUX (do Linus Torvalds, người Phần Lan, viết thành cônglõi của hệ điều hành) như Ubuntu, Red hat, SUSE,

1.2.Hệ điều hành và phần mềm mã nguồn mở.

Trong khoảng thời gian gần đây, khái niệm phần mềm nguồn mở trở nên khá phổ biến với người sừ dụng máy tính Các sản phẩm phần mềm nguồn mở có mặt trong hầu hếtcác nhóm phần mềm máy tính, đặc biệt là nhóm phần mềm hệ thống, phần mềm công cụ và phần mềm ứng dụng Những sản phẩm này ngày càng đóng vai trò quan trọng trong ngành công nghiệp phần mềm trên toàn thế giới nói chung và ở Việt Nam nói riêng bởi các lợi ích vượt trội mà nó mang lại.

Các phần mềm nguồn mở có chi phí sở hữu thấp (gồm chi phí mua, chi phí sử dụngvà chi phí bảo trì) Hầu hết các phần mềm mã nguồn mở được phát hành miễn phí, tức là người sử dụng có thể tự do sử dụng sản phẩm mà không cần phải mua bản quyền Điều này giúp giảm đáng kể tỉ lệ vi phạm bản quyền sử dụng sản phẩm phần mềm Ngoài ra, nhiều tổ chức đã điều tra, nghiên cứu và đưa ra những kết luận khả quan về tính kinh tế khi sử dụng các sản phẩm nguồn mở Chẳng hạn nghiên cứu của tập đoàn Robert Frances cho biết: chi phí sở hữu Linux bằng 40% Microsoft Windows và bàng 14% hệ điều hành nguồn đóng Solaris của công ty Sun.

Bên cạnh đó với các sản phẩm nguồn mở người sử dụng có quyền tự do sao chép, chỉnh sửa và nâng cấp mã nguồn Điều này giúp tạo ra các sản phẩm nguồn mở với nhiều phiên bản có chất lượng tốt, được nàng cấp và bào trì nhanh chóng bởi cộng đồng lập trìnhviên trên toàn thê giới Cũng chính vì có các quyền tự do này mà phần mềm nguồn mở giúp

Trang 8

Báo cáo tiểu luận GVHD:ThS.Phan Thị Thu Hiền

phát triển tiềm lực của ngành công nghiệp phần mềm địa phương và bản địa hoá các sản phẩm phần mềm Ưu điểm này của phần mềm nguồn mở thực sự phù hợp với người dùng ở nước ta Nó giúp làm giảm chi phí nhập khẩu, tạo thêm công ăn việc làm cho lực lượng lao động trẻ dồi dào trong ngành công nghiệp phần mềm ở nước ta.

Do có nhiều ưu điểm nổi bật, người sử dụng nên cân nhắc lựa chọn các sản phẩm phần mềm nguồn mờ cho máy tính của mình Hiện nay có rất nhiều sản phẩm nguồn mở tiêu biểu mà người sử dụng thông thường nên biết như: hệ điều hành Linux, bộ ứng dụng văn phòng open Office, trình duyệt web Mozilla Firefox,

• Linux: là hệ điều hành đa người dùng, đa chương trình và đa xử lí Linux chạy khánhanh và được cài đặt cho nhiều chủng loại máy tính khác nhau như máy tính cá nhân, máy tính bảng và dặc biệt phù hợp với các máy chủ trong môi trường Internet Hầu hết các máy chủ Internet ở Việt Nam đều sử dụng hệ điều hành Linux Các bản phân phối của hệ điều hành Linux phổ biến tại Việt Nam như Android, Ubuntu, SƯSE, REDhat, Debían, Fedora, Centos, Trong đó Android là hệ điều hành khá phổ biến, được thiết kế dành cho các thiết bị di động có màn hình cảm ứng như điện thoại thông minh và máy tính bảng.

• Open Office: là bộ phần mềm văn phòng có các tính năng tương dương vớiMicrosoft Office như trình soạn thảo văn bản writer (tương tự như Microsoft Word), chương trình bảng tính Cale (tương tự như Microsoft Excel), chương trìnhtrình diễn Impress (tương tự như Microsoft PowerPoint), Draw, Open Office được cài đặt mặc định trong hầu hết các bản phân phối của Linux và dỗ dàng cài đặt và sử dụng trong hệ điều hành Windows và Solaris Một tiện ích nổi bật của phần mềm này là có thể đọc được hầu hết các tài liệu tạo ra từ Microsoft Office Do đó, Open Office dược sử dụng linh hoạt khi chuyên từ Windows sang Linux.• Mozilla Firefox: Firefox đạt 25% thị phần trình duyệt web (theo thống kê năm

2011) và là trình duyệt web phổ biến thứ hai trên thế giới Firefox được nhiều người sử dụng máy tính cá nhân ưa chuộng bởi giao diện đẹp, dỗ sử dụng và nhiều tiện ích đính kèm khác mà người dùng có thể bổ sung qua tính năng add-on.

Trang 9

Ngoài ra, thông qua môi trường Internet, người sù dụng có thể tìm kiếm, tải miền phívà sử dụng hàng triệu tiện ích nguôn mở cho nhiêu mục đích khác, ví dụ: phần mềm nghe nhạc xem phim VLC media player, phần mềm nén tệp thư mục 7-Zip, phần mềm chinh sửa ảnh GIMP, phần mềm hỗ trợ soạn thảo tiếng Việt Unikey,

1.3.Các thành phần cơ bản của hệ điều hành.1.3.1 Hệ thống quản lý tiến trình.

Một tiến trình được coi là một đơn vị làm việc của hệ thông Hệ thống có thể thực hiện nhiều tiến trình cùng lúc, trong đó, một số tiến trình là của hộ điều hành và một số là của người sử dụng Vai trò của hệ thống quàn lí tiến trình trong nhiệm vụ này là: tạo và hủy các tiến trình; lập lịch thực hiện các tiến trình Hầu hết các hệ điều hành hiện nay đều là hệ điều hành đa nhiệm, cho phép người sử dụng có thể cùng một lúc bật nhiêu tiên trình.Chăng hạn, người sử dụng có thê vừa soạn thảo, vừa nghe nhạc và Chat Yahoo Messengervới bạn bè.

1.3.2 Hệ thống quản lý bộ nhớ chính.

Bộ nhớ chính là trung tâm của các thao tác và xử lí Một chương trình muốn thi hành, trước hết nó phải được ánh xạ thành địa chỉ tuyệt đối nạp vào trong bộ nhớ chính Khi một chương trình được thi hành, hệ thống truy xuất các chỉ thị và dữ liệu của chương trình trong bộ nhớ chính Vì vậy, có thể coi bộ nhớ chính là một tài nguyên rất quan trọng, trong quá trình hoạt động của máy tính Hệ điều hành có nhiệm vụ quản lí nguồn tài nguyên này Vai trò của hệ điều hành trong việc quản lí bộ nhớ chính cụ thể là:

• Lưu giữ thông tin về các vị trí trong bộ nhớ đã được sử dụng và ai sử dụng.• Quyết định tiến trình nào được nạp vào bộ nhớ chính khi bộ nhớ đã có thê

Trang 10

Báo cáo tiểu luận GVHD:ThS.Phan Thị Thu Hiền

1.3.4 Hệ thống quản lý nhập xuất.

Hệ diều hành cung cấp cơ chế làm việc thân thiện, dễ thao tác hơn, che dấu đi những dặc thù của các thiết bị phần cứng đối với người sử dụng Một hệ thống quản lí nhập xuất của hệ điều hành bao gồm:

• Tạo và xoá một tập tin.• Tạo và xoá một thư mục.

• Hỗ trợ các thao tác trên tập tin và thư mục.

• Ánh xạ tập tin trên hệ thống lưu trữ phụ (bộ nhớ ngoài).• Khôi phục (backup) tệp trên các thiết bị lưu trữ.

1.3.6 Hệ thống bảo vệ.

Hệ thông bảo vệ kiêm soát quá trình truy xuât cùa chương trình, tiên trình hoặc người sử dụng với tài nguyên của hệ thống (CPU, bộ nhớ, ) từ đó giúp bảo vệ các thiết bịngoại vi của máy, đảm bảo tính an toàn khi vận hành hệ thống máy tính Hệ thống bảo vệcũng làm tăng độ an toàn khi kiểm tra lỗi trong giao tiếp giữa những hệ thống nhỏ bên trong.

1.3.7 Hệ thống dịch lệnh.

Con người giao tiếp với máy tính thông qua việc thực hiện các chương trình Mồi chương trình bao gồm một tập lệnh được sắp xếp theo ị trật tự xác định Các lệnh được đưa vào hệ điều hành thông qua bộ điều khiển lệnh Trong các hệ thống chia sẻ thời gian, một chương trình có thê đọc và thông dịch các lệnh điều khiển được thực hiện một cách tựđộng.

Trang 11

Chương trình này thường được gọi là bộ thông dịch điều khiển card, cơ chế dòng lệnh hoặc shell Chức năng của nó là lấy lệnh kế tiếp và thi hành Mỗi hệ điều hành có những cơ chế giao tiếp khác nhau, có thể theo cơ chế dòng lệnh, hoặc thân thiện hơn là sử dụngthông qua giao diện dạng biểu tượng, mục chọn, cửa sổ thao tác dùng chuột.

1.4.Phân loại hệ điều hành.

Có nhiều cách phân loại hệ điều hành khác nhau Phần này giới thiệu, < phân loại hệ điều hành dưới góc độ người sử dụng và số chương trình được thực thi cùng lúc trong hệ điều hành.

1.4.1 Hệ điều hành đơn nhiệm một người sử dụng.

Là hệ điều hành chỉ cho phép tại một thời điểm chỉ có một chương trình được thực thi Muốn thực hiện nhiều chương trình, các chương trình phải được thực hiện lần lượt Mỗi lần làm việc cũng chỉ có một người dược đăng nhập vào hệ thống, ví dụ, MS-DOS (tiền thân của hệ điều ị hành Windows hiện nay).

1.4.2 Hệ điều hành đa nhiệm một người sử dụng.

Hệ điều hành loại này chỉ cho phép một người dược đăng nhập vào hệ thống nhưng có thể kích hoạt cho hệ thống thực hiện nhiều chương trình đồng thời, ví dụ, hệ điều hành Windows 95.

1.4.3 Hệ điều hành đa nhiệm nhiều người sử dụng.

Hệ điều hành loại này cho phép nhiều người đăng nhập vào hệ thống tại các thời điểm khác nhau (thông qua tên tài khoản - Account Name) và thực hiện đồng thời nhiều chương trình Hệ điều hành loại này phức tạp, đòi hỏi máy tính phải có bộ xử lí mạnh và bộ nhớ trong lớn Đa số các hệ điều hành ngày nay là đa nhiệm nhiều người dùng, ví dụ, Windows XP, Windows 7, Linux,

Trang 12

Báo cáo tiểu luận GVHD:ThS.Phan Thị Thu Hiền

2.2.Giới thiệu.

Trong môi trường đa chương, nhiều quá trình có thể cạnh tranh một số giới hạn tài nguyên Một quá trình yêu cầu tài nguyên, nếu tài nguyên không sẳn dùng tại thời điểm đó,quá trình đi vào trạng thái chờ Quá trình chờ có thể không bao giờ chuyển trạng thái trở lại vì tài nguyên chúng yêu cầu bị giữ bởi những quá trình đang chờ khác Trường hợp này được gọi là deadlock (khoá chết) Trong chương này chúng ta sẽ mô tả các phương pháp mà hệ điều hành có thể dùng để ngăn chặn hay giải quyết deadlock Hầu hết các hệđiều hành không cung cấp phương tiện ngăn chặn deadlock nhưng những đặc điểm này sẽ được thêm vào sau đó Vấn đề deadlock chỉ có thể trở thành vấn đề phổ biến, xu hướng hiện hành gồm số lượng lớn quá trình, chương trình đa luồng, nhiều tài nguyên trong hệ thống và đặc biệt các tập tin có đời sống dài và những máy phục vụ cơ sở dữ liệu hơn là

các hệ thống bó 2.3.Mô hình hệ thống.

Một hệ thống chứa số tài nguyên hữu hạn được phân bổ giữa nhiều quá trình cạnh tranh Các tài nguyên này được phân chia thành nhiều loại, mỗi loại chứa một số thể hiện xác định Không gian bộ nhớ, các chu kỳ CPU và các thiết bị nhập/xuất (như máy in, đĩa từ) là những thí dụ về loại tài nguyên Nếu hệ thống có hai CPUs, thì loại tài nguyên CPU có hai thể hiện Tương tự, loại tài nguyên máy in có thể có năm thể hiện.

Nếu một quá trình yêu cầu một thể hiện của loại tài nguyên thì việc cấp phát bất cứ thể hiện nào của loại tài nguyên này sẽ thoả mãn yêu cầu Nếu nó không có thì các thể hiện là không xác định và các lớp loại tài nguyên sẽ không được định nghĩa hợp lý Thí dụ, một hệ thống có thể có hai máy in Hai loại máy in này có thể được định nghĩa trong cùng lớp loại tài nguyên nếu không có quá trình nào quan tâm máy nào in ra dữ liệu Tuy nhiên, nếu

Trang 13

một máy in ở tầng 9 và máy in khác ở tầng trệt thì người dùng ở tầng 9 không thể xem hai máy in là tương tự nhau và lớp tài nguyên riêng rẻ cần được định nghĩa cho mỗi máy in.

Một quá trình phải yêu cầu một tài nguyên trước khi sử dụng nó, và phải giải phóngsau khi sử dụng nó Một quá trình có thể yêu cầu nhiều tài nguyên như nó được yêu cầu đểthực hiện tác vụ được gán của nó Chú ý, số tài nguyên được yêu cầu không vượt quá số lượng tổng cộng tài nguyên sẳn có trong hệ thống Nói cách khác, một quá trình không thểyêu cầu ba máy in nếu hệ thống chỉ có hai.

Dưới chế độ điều hành thông thường, một quá trình có thể sử dụng một tài nguyênchỉ trong thứ tự sau:

1) Yêu cầu: nếu yêu cầu không thể được gán tức thì (thí dụ, tài nguyên đang được dùng bởi quá trình khác) thì quá trình đang yêu cầu phải chờ cho tới khi nó có thể nhận được tài nguyên.

2) Sử dụng: quá trình có thể điều hành tài nguyên (thí dụ, nếu tài nguyên là máy in,quá trình có thể in máy in).

3) Giải phóng: quá trình giải phóng tài nguyên.

Yêu cầu và giải phóng tài nguyên là các lời gọi hệ thống Thí dụ như yêu cầu và giải phóng thiết bị, mở và đóng tập tin, cấp phát và giải phóng bộ nhớ Yêu cầu và giải phóng các tài nguyên khác có thể đạt được thông qua thao tác chờ wait và báo hiệu signal Do đó, cho mỗi trường hợp sử dụng, hệ điều hành kiểm tra để đảm bảo rằng quá trình sử dụngyêu cầu và được cấp phát tài nguyên Một bảng hệ thống ghi nhận mỗi quá trình giải phóng hay được cấp phát tài nguyên Nếu một quá trình yêu cầu tài nguyên mà tài nguyên đó hiện được cấp phát cho một quá trình khác, nó có thể được thêm vào hàng đợi để chờ tài nguyên này.

Một tập hợp quá trình trong trạng thái deadlock khi mỗi quá trình trong tập hợp này chờ sự kiện mà có thể được tạo ra chỉ bởi quá trình khác trong tập hợp Những sự kiện mà chúng ta quan tâm chủ yếu ở đây là nhận và giải phóng tài nguyên Các tài nguyên có thể là tài nguyên vật lý (thí dụ, máy in, đĩa từ, không gian bộ nhớ và chu kỳ CPU) hay tài nguyên luận lý (thí dụ, tập tin, semaphores, monitors) Tuy nhiên, các loại khác của sự kiện có thể dẫn đến deadlock.

Trang 14

Báo cáo tiểu luận GVHD:ThS.Phan Thị Thu Hiền

Để minh hoạ trạng thái deadlock, chúng ta xét hệ thống với ba ổ đĩa từ Giả sử mỗi quá trình giữ các một ổ đĩa từ này Bây giờ, nếu mỗi quá trình yêu cầu một ổ đĩa từ khác thì ba quá trình sẽ ở trong trạng thái deadlock Mỗi quá trình đang chờ một sự kiện “ổ đĩa từ được giải phóng” mà có thể được gây ra chỉ bởi một trong những quá trình đang chờ Thí dụ này minh hoạ deadlock liên quan đến cùng loại tài nguyên.

Deadlock cũng liên quan nhiều loại tài nguyên khác nhau Thí dụ, xét một hệ thống với một máy in và một ổ đĩa từ Giả sử, quá trình Pi đang giữ ổ đĩa từ và quá trình Pj đang giữ máy in Nếu Pi yêu cầu máy in và Pj yêu cầu ổ đĩa từ thì deadlock xảy ra.

Một người lập trình đang phát triển những ứng dụng đa luồng phải quan tâm đặc biệt tới vấn đề này: Các chương trình đa luồng là ứng cử viên cho vấn đề deadlock vì nhiều luồng có thể cạnh tranh trên tài nguyên được chia sẻ.

2.4.Đặc điểm deadlock.

Trong một deadlock, các quá trình không bao giờ hoàn thành việc thực thi và các tài nguyên hệ thống bị buộc chặt, ngăn chặn các quá trình khác bắt đầu Trước khi chúng ta thảo luận các phương pháp khác nhau giải quyết vấn đề deadlock, chúng ta sẽ mô tả các đặc điểm mà deadlock mô tả.

2.4.1 Những điều kiện cần thiết gâ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ộtlúc trong hệ thống:

1) Loại trừ hỗ tương: í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.

2) Giữ và chờ cấp thêm tài nguyên: 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.

3) Không đòi lại tài nguyên từ quá trình đang giữ chúng: 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ụ.

Ngày đăng: 13/07/2024, 16:49

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w