bài giảng hệ điều hành đại học bách khoa hà nội

96 911 0
bài giảng hệ điều hành đại học bách khoa hà nội

Đ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

Trờng Đại học Bách khoa Hà nội Khoa Công nghệ Thông tin Bộ môn công nghệ phần mềm ============= o ============= Bài giảng Hệ Điều Hành 60 tiết (45 tiết lý thuyết + 15 tiết thực hành) (Version 0.11) Biên soạn Lê Tiến Dũng Hà nội 8-2001 Hệ điều hành trang 2/96 Chơng Các khái niệm LT: TiÕt, TH: TiÕt CÊu tróc ph©n líp phát triển hệ thống tính toán a Lịch sử phát triển hệ thống tính toán nguyên lý phát triển processor hệ lệnh - 1940-1950 Đây giai đoạn đời hệ máy tính điện tử, với hệ thống máy tính cấu tạo từ phận khí đèn điện tử Các máy tính giai đoạn nµy võa cång kỊnh (kÝch cì b»ng mét toµ nhµ) vừa phức tạp Do máy phải dùng nhiều ngời sử dụng Trong giai đoạn này: Phạm vi ngời sử dụng máy tính điện tử bị bó hẹp chuyên gia mà Ngời thiết kế xây dựng chơng trình ngời lập trình ngời vận hành Ngôn ngữ làm việc họ ngôn ngữ máy chuỗi số nhị phân 01 công việc họ đơn điệu nhàm chán việc mắc lỗi tránh khỏi cần hiệu chỉnh chơng trình Vì hiệu suất làm việc thấp, trung bình khoảng câu lệnh/ngày Tồn công việc cho ngời, chơng trình: Mong muốn ngời sử dụng khác xa với khả đáp ứng máy tính Nó phong phú đa dạng, khả máy tính thời gian xác định hầu nh không đổi Bên cạnh có khả máy tính nh tốc độ processor ngời dùng khai thác triệt để Ngời ta thấy số công việc cần thiết cho ngời, thờng xuyên đợc sử dụng phải xây dựng (các chơng trình chuẩn hay chơng trình mẫu) Standard Programs Việc đợc thực nhà lập trình đợc cung cấp với máy tính Từ tạo thành th viện chơng trình mẫu {Standard Programs} = Library of Standard Programs Ban đầu chơng trình mang tính chất hoàn thiện: từ đầu vào định (input) đa kết quả(output) Tuy nhiên việc không thuận lợi hiệu có nhiều chức chơng trình lặp lặp lại nhiều lần Vì ngời ta nghĩ đến phơng pháp cải tiến hiệu suất làm việc phải xây dựng chơng trình cải tiến hệ lệnh processor tức giảm bớt lệnh macroprocessor mà thay vào phép xử lý tác động lên bit, byte Lê Tiến Dũng BM Công nghệ phần mềm Hệ điều hành trang 3/96 Lý do: hàm sở nh lấy căn, sinx, hay luỹ thừa cần dùng, nhng cần xử lý thông tin, mà sở nhỏ thông tin nằm bit, byte nên tăng cờng khả cho processor lĩnh vực xử lý bit gắn với nhu cầu ngời - 1951-1960 {Library of Standard Programs} Để đáp ứng nhu cầu ngời sử dụng, mặt ngời ta phải nghiên cứu thuật toán lấy căn, sinx, cos, sở xử lý bit, byte; mặt khác phải xây dựng sẵn modul đáp ứng yêu cầu Đội ngũ ngời sử dụng ngày lớn => thoả mÃn nhu cầu lập trình dới dạng th viện ngày lớn theo => yêu cầu số th viện lớn với nội dung đồ sộ => khó Giải cách phải cung cấp cho ngời sử dụng công cụ cho phép mô tả giải thuật cần thiết => Đây thời kỳ đời ngôn ngữ thuật toán với loạt chơng trình dịch Các ngôn ngữ đời: Assembler, FORTRAN, COBOL Đi đôi với chúng kỹ thuật bán dẫn, sản xuất đợc băng từ cho phép lu trữ đợc số chơng trình Đà có phân hoá chức ngời lập trình thao tác viên (operator) + Processor chuyển giao số chức cho thiêt bị khác + Đà bắt đầu việc nhóm chơng trình hay tác vụ (jobs) lại để xử lý theo lô Đà có mầm mống hệ điều hành: o Thực tự động công việc o Nạp giải phóng chơng trình nhớ o Quản lý vào ra: đọc bìa, băng từ, máy in => Mô hình hoạt động hệ điều hành : ngời sử dụng tác động trực tiếp lên MTDT hay thông qua th viện chơng trình mẫu tác động trung gian qua chơng trình dịch => + Hệ thống quản lý o Quản lý th viện o Quản lý Chơng trình dịch o Quản lý cung cấp dịch vụ - 1960-nay Tiến thêm bớc việc sở hoá th viện chơng trình mẫu Thay cung cấp chơng trình hoàn thiện, cung cấp module giải phần giải thuật, phép biến đổi thờng gặp => cần có modul chuyên phục vụ điều khiển tổ chức module th viện Lê Tiến Dũng BM Công nghệ phần mềm Hệ điều hành trang 4/96 Ra đời phát triển mạch tích hợp (kích cỡ nhỏ, tốc độ cao), đĩa từ với tốc độ truy nhập liệu lớn + Ra đời máy vi tính IBM PC MSDOS o Giao diện đồ hoạ o Chức đa phơng tiện đợc nhúng vào hệ điều hành o Hệ điều hành đà gắn với mạng Internet o Các hệ thống song song: nhiều bé vi xư lý cïng chia sỴ mét hƯ thèng bus, đồng hồ, thiết bị ngoại vi, nhớ o Các hệ thống phân tán: nhiều vi xử lý nhng dùng nhớ, bus, đồng hồ riêng nhng liên lạc trao đổi với để thực nhiệm vụ o Hệ thống thời gian thực: Các xử lý tinh toán bị giới hạn mặt thời gian thực Ngời ta đa lớp tuỳ chọn (option) để đa máy tính môi trờng làm việc phù hợp b Phần mềm vai trò lớp chơng trình hệ thống tính toán Trong phần kỹ thuật thay đổi chậm chạp phần chơng trình bao quanh MTDT phát triển với tốc độ chóng mặt Ngày giá thành phần mềm chiếm tỉ trọng lớn giá trị toàn hệ thống - So sánh giá thành phần cứng phần mềm Ngày 06/06/2001 I HARDWARE Server P/N Description Unit Price X Series 230 865861Y IBM Series x230 PIII 1000 Mhz/ 256 Kb Cache IBM Netfinity 128MB SDRAM ECC RDIMM Intergrated dual channel Ultra 160 LVD SCSI Internal storage: 218.4 GB 10/100 Ethernet intergrated 10 bays( hot plug, half-high, 40x IDE CDROM) 250w Power Supply Cooling fans: IBM Netfinity 128MB SDRAM ECC RDIMM IBM Netfinity 256MB SDRAM ECC RDIMM IBM Netfinity 18.2 GB 10K-4 Wide Ultra160 SCSI IBM E54 Color Monitor, stealth black HP SureStore Tape 40i GB Internal (40GB) TOTAL 3,475.00 33L3123 33L3125 37L7205 C5647A Lª TiÕn Dịng 305.00 641.00 598.00 178.00 1,980.00 7,177.00 BM C«ng nghệ phần mềm Hệ điều hành trang 5/96 II SOFTWARE P/N Description Unit Price VISUALAGE JAVA ENTERPRISE EDITION V3.5 00P7778 PROGRAM PKG WEBSPHERE STUDIO ADVANCED V3.5 11K7694 PROGRAM PACKAGE WITH CLIENT ADV Oracle 8i Standard Edition Release (with Client) 659-00399 VStudio Pro 6.0 Win32 English Intl CD Refresh 021-02665 021-03851 227-01187 Office 2000 win 32 English Intl CD Office 2000 win 32 English OLP NL WinNT Svr 4.0 English Intl CD Clt SP4 TOTAL 4,349.00 2,899.00 1,120.00 1,107.76 477.25 385.65 823.25 11,161.91 Các chơng trình bao quanh phần kỹ thuật tạo thành môi trờng tính toán Mỗi chơng trình muốn đợc thực phải gắn với môi trờng thừa hởng môi trờng khả hệ thống Làm cho thông tin lu chuyển dễ dàng thành phần hệ thống Thông tin đầu module làm đầu vào cho module khác Mọi biến đổi trung gian hệ thống đảm nhiệm suốt với ngời sử dụng Ví dụ: phần mềm Word, Excel gắn liền với môi trờng Windows Khi thông số môi trờng thay đổi (Hệ thống font chữ, bàn phím, ngôn ngữ )=> ảnh hởng lên phần mềm Dù chơng trình hay thành phần hệ thống phải hoạt động đồng với toàn hệ thống (các thành phần hệ thống hay chơng trình khác) Hệ thống có chức đảm bảo đầy đủ điều kiện vật chất để chơng trình chạy đợc nh nhớ, thời gian phục vụ processor, thiết bị ngoại vi => Tóm lại hệ thống có nhiệm vụ quản lý tài nguyên Tài nguyên hệ thống tính toán - Các tài nguyên chủ yếu Tài nguyên phân chia làm hai loại bản: không gian thời gian Trong khung cảnh hệ thống không gian nhớ vµ thêi gian thùc hiƯn lƯnh a Bé nhí - Bộ nhớ nơi lu trữ thông tin - Đặc trng nhớ Lê Tiến Dũng BM Công nghệ phần mềm Hệ điều hành trang 6/96 + Thời gian truy nhËp trùc tiÕp: thêi gian trùc tiÕp ®Ĩ truy nhËp tới địa nhớ + Thời gian truy nhập tuần tự: Khi tồn cách tổ chức lu trữ Bộ nhớ thờng đợc phân cấp theo tốc độ truy nhập trực tiếp hay Bộ nhớ đợc gọi thực processor cã thĨ thùc hiƯn c©u lƯnh bÊt kú ghi Đặc điểm nhớ thời gian truy nhập thực truy nhập lµ b»ng Bé nhí bao giê cịng lµ bé nhí thùc hiƯn + Kh«ng gian bé nhí + Giá thành - Phân loại nhớ + Bộ nhớ trong: Có tốc độ truy nhập cao nhng không gian nhớ nhỏ + Bộ nhớ ngoài: Có không gian bé nhí lín nh−ng tèc ®é truy nhËp thÊp Thêi gian truy nhËp trùc tiÕp th−êng lín h¬n thêi gian truy Loại nhớ phổ biến nhớ đĩa cứng, đĩa mềm, băng từ, đĩa quang b Thời gian processor Bản thân Processor tài nguyên quan trọng Tài nguyên thời gian thời gian thực câu lệnh thời gian sống hàng ngày Processor đợc dùng cho nhiều tiến trình khác việc phân chia thời gian sử dụng processor tiến trình phải đợc tối u hoá, đặc biệt chúng dùng chung tài nguyên khác: chơng trình, liệu, thiết bị vào Nói cách khác, thời gian processor tài nguyên quan trọng hệ thống c Thiết bị ngoại vi - Đa dạng - Số lợng lớn >>1 - Tèc ®é xư lý copy A:\f1.txt C: + KiĨm tra xem cã tồn cạc đĩa không (control card) Lê Tiến Dũng BM Công nghệ phần mềm Hệ điều hành trang 10/96 + Kiểm tra xem có tồn ổ đĩa A: + Kiểm tra xem có tồn đĩa A + Kiểm tra khả truy nhập đĩa từ + Kiểm tra cã tån t¹i tƯp f1.txt + KiĨm tra cã đọc đợc tệp hay không + Lặp lại với C: - HĐH phải có phơng tiện kiểm tra tính đắn liệu thao tác b An toàn - Hệ thống cố gắng bảo vệ thông tin, cố gắng chống trờng hợp truy nhập không hợp thức - Chức bảo vệ thông tin đợc chia thành nhiều mức: + Các mức hệ thống đảm nhiệm: Ví dụ hệ thống UNIX, muốn xoá hay sửa đổi nội dung tệp, ngời sử dụng phải có quyền xoá sửa file ®ã + Cã møc ng−êi sư dơng ®¶m nhiƯm: LƯnh DEL *.* cđa MSDOS, hƯ thèng hái l¹i ng−êi sử dụng lần để tránh sai sót vô ý c Khái quát theo thời gian - HĐH phải cã tÝnh kÕ thõa tõ c¸c hƯ thèng cị - HĐH phải có khả thích nghi với thay đổi tơng lai d Hiệu - Các tài nguyên hệ thống phải đợc khai thác tối u - HĐH phải trì đồng độ toàn hệ thống e Thuận tiện - HĐH phải thân thiện với ngời sử dụng HĐH phải có nhiều hình thái giao tiếp: + Giao tiếp dạng dòng lệnh + Giao tiếp dạng thực đơn (Menu) + Giao tiếp dạng biểu tợng Nguyên lý xây dựng chơng trình HĐH a Module - HĐH phải đợc xây dựng từ module độc lập nhng có khả liên kết thành hệ thống thu gọn mở rộng tuỳ ý - Các module đồng cấp quan hệ với thông qua liệu vào Lê Tiến Dũng BM Công nghệ phần mềm Hệ điều hµnh trang 82/96 - Sư dơng bé nhí HƯ thèng sử dụng phần nhớ để lu trữ thông báo Mỗi tiến trình cần nhận thông báo việc rà soát hòm th hệ thống + Ưu điểm: lu trữ đợc lợng thông tin lớn với thời gian lu trữ lâu + Nhợc điểm: tính thụ động cao - Gửi thông báo qua cổng vào/ra + Ưu điểm: tiến trình dễ dàng lấy thông tin từ cổng mà không bị hàng rào nhớ ngăn cản + Nhợc điểm: dung lợng thông tin chứa cổng không lớn, thời gian lu trữ thông báo bị hạn chế - Sử dụng chơng trình th ký (Monitor) Chơng trình th ký (Monitor) chơng trình hệ thống, đợc cung cấp thông tin nhng khả điều khiển hệ thống Thông qua chơng trình này, tiến trình dễ dàng xác định đợc tiến trình đâu + Ưu điểm: Tính chủ động cao c Loại song song phân cấp Là loại tiến trình mà trình hoạt động sản sinh tiến trình hoạt động song song với A1 A2 B1 B2 An Bm Khi tiến trình đà hoạt động hai tiến trình Lê Tiến Dũng BM Công nghệ phần mềm Hệ điều hành trang 83/96 - Tài nguyên tiến trình lấy từ vốn tài nguyên hệ thống lấy từ vốn tài nguyên tiến trình + Nếu lấy tài nguyên từ vốn tài nguyên hệ thống hệ thống quản lý tài nguyên tập chung Nh tối u hoá đợc việc sử dụng tài nguyên, nhng việc quản lý phức tạp + Nếu tiến trình lấy từ vốn tài nguyên tiến trình ta có hệ quản lý tài nguyên phân tán Loại tài nguyên đơn giản, nhng khả khai thác tối u tài nguyên hệ thống Trong trờng hợp tài nguyên lấy đâu phải trả đó, tiến trình thờng sử dụng lệnh chờ POS WAIT để tiến trình kịp trả lại tài nguyên d Tiến trình đồng mức Hai tiến trình đợc gọi đồng mức sử dụng chung tài nguyên theo nguyên tắc lần lợt A1 A2 B1 Tài B2 Nguyên An Bm Hai tiến trình không phân biệt tiến trình tiến trình con, mà hai tiến trình độc lập Mỗi tiến trình sau sử dụng tài nguyên phải trả lại cho hệ thống tiếp tục hoạt động độc lập Ví dụ: chơng trình chơi cờ: Tài nguyên chung bàn cờ Giả sử đến lợt tiến trình thứ nhất, tiến trình thứ chiếm tài nguyên để chơi, định xong trả lại bàn cờ cho hệ thống Tiến trình thứ hai phải kiểm tra xem tiến trình thứ đà cha? xong đến lợt (thực nh tiến trình thứ nhất) Mô tả tiến trình song song Ta dùng ký pháp nhân tạo Lê Tiến Dũng BM Công nghệ phần mềm Hệ điều hành trang 84/96 Giả sử cần thực tập khèi lÖnh song song s1, s2, S1 S2 , sn Sn Ta đa vào khối lệnh đợc bắt đầu từ khoá ParBegin (Parallel Begin) kết thúc bëi tõ kho¸ ParEnd (Parallel End) ParBegin S1; S2; Sn; ParEnd; Tài nguyên găng đoạn găng - Tài nguyên găng tài nguyên mà khoảng thời gian định phục vụ hợp lý cho số hữu hạn tiến trình - Đoạn chơng trình sử dụng tài nguyên găng gọi đoạn găng hay chỗ hẹp tiến trình - Hệ điều hành phải tổ chức cho tiến trình qua chỗ hẹp cách hợp lý, công việc gọi điều độ tiến trình qua đoạn găng - Sự cần thiết phải điều độ Ta xem xét ví dụ tiến trình muốn in máy in + Khi tiến trình cần in tệp máy in, đa tên tệp vào th mục spool Một tiến trình điều khiển in khác kiểm tra định kỳ có tệp cần in, tìm thấy in tệp loại tên tệp khỏi th mục spool Giả sử th mục spool có số lợng phần tử lớn (mỗi phần tử chứa tên tệp) Ta có hai biến dùng dung OUT để tệp cần in IN để vị trí rỗng dùng để chứa tên tệp cần in + Ta giả sử vị trí rỗng (các tệp đà đợc in), vị trí bận (chứa tên tệp cần in) Lê Tiến Dũng BM Công nghệ phần mềm Hệ điều hành trang 85/96 Nh− vËy biÕn OUT = vµ IN = TiÕn tr×nh A OUT = 4 Prog.doc TiÕn tr×nh B Abc.txt Prog.pas IN = + Giả sử tiến trình A cần in tệp a.txt, tiến trình A đọc biến IN đa vào biến cục INA, nh INA = Lúc có tín hiệu ngắt đồng hồ CPU định tiến trình A đà chạy đủ thời gian chuyển sang thực tiến trình B Đến lợt mình, tiến trình B muốn in tệp b.txt Tiến trình B đọc biến IN đa vµo biÕn cơc bé INB, nh− vËy INB = Tiến trình B đa tên tệp b.txt vào vị trí thø th− mơc spool vµ cËp nhËt biÕn IN = INB + = 8, sau làm c¸c viƯc kh¸c + Khi CPU chun sang thùc hiƯn tiến trình A, không may tiến trình A giữ nguyên biến INA=7 Tiến trình A đa tên tệp a.txt vào vị trí thứ cập nhật biến IN = INA + = + Tiến trình điều khiển in không đợc thông báo có cố vµ tiÕp tơc thùc hiƯn nhiƯm vơ + Nh− vËy tệp b.txt đà bị đổi thành tệp a.txt không đợc in máy in - Các công cụ điều độ phải thoả mÃn yêu cầu sau: + Phải đảm bảo cho tiến trình không chiếm giữ tài nguyên găng vô hạn + Nếu có tiến trình xếp hàng chờ tài nguyên găng sớm hay muộn phải vào đợc đoạn găng (đợc phục vụ tài nguyên găng) + Nếu có tiến trình xếp hàng chờ đợi tài nguyên găng tài nguyên găng đợc giải phóng phải đợc phục vụ tiến trình chờ đợi - Các công cụ điều độ: Chia làm ba lớp + Phơng pháp khoá trong: loại giải thuật không yêu cầu thiết bị hệ thống Phơng pháp có tính chất vạn ứng với ngôn ngữ, loại máy + Kiểm tra xác lập Lê Tiến Dũng BM Công nghệ phần mềm Hệ điều hành trang 86/96 Xác lập dựa vào thiết bị, thiết bị có lệnh đặc biệt phục vụ cho riêng công tác điều độ + Kỹ thuật đèn báo: dựa vào công cụ đặc biệt hệ điều hành Phơng pháp khoá - Nguyên lý: Dùng thêm biến với t cách tài nguyên chung để chứa cờ cho biết tiến trình vào đoạn găng hay khỏi đoạn găng - Giả thiết: + Cã hai tiÕn tr×nh song song cïng sư dơng tài nguyên găng chung khả phục vụ tài nguyên găng + Mỗi tiến trình có đoạn găng nằm đầu tiến trình + Các tiến trình lặp vô hạn, có kết thúc đoạn găng - Sử dụng biến IS_USED có giá trị để tài nguyên găng bị tiến trình chiếm giữ ngợc lại, IS_USED = tài nguyên găng sẵn sàng phục vơ Khi mét tiÕn tr×nh thÊy biÕn IS_USED = 0, phải đặt biến IS_USED = trớc sử dụng tài nguyên găng Tuy nhiên ta dễ dàng tiến biến IS_USED lại trở thành tài nguyên găng Giả sử tiÕn tr×nh kiĨm tra thÊy biÕn IS_USED = 0, trớc lúc đặt biến lên tiến trình lại kiểm tra biến tất nhiên biến IS_USED = Nh hai tiến trình vào đoạn găng sử dụng tài nguyên găng Nói cách khác vấn đề điều độ cha đợc giải - Sử dụng biến TURN để đến lợt tiến trình đợc sử dụng tài nguyên găng + Sơ đồ nguyên lý Var turn : integer; Begin turn := 1; ParBegin { Hai khèi lÖnh tõ kho¸ thùc hiƯn song song víi } TT1: REPEAT while (turn 1) ; vao_doan_gang_1; { đoạn turn := 2; { chuyển tài thuc_hien_viec_khac_1; { phần lại tiến UNTIL FALSE; Lê Tiến Dũng ParBegin ParEnd đợc găng tiến trình } nguyên găng cho tt2) trình } BM Công nghệ phần mềm Hệ điều hành trang 87/96 TT2: REPEAT while (turn 2) ; vao_doan_gang_2; { đoạn găng tiến trình } turn := 1; { chuyển tài nguyên găng cho tt1) thuc_hien_viec_khac_2; { phần lại tiến trình } UNTIL FALSE; ParEnd; End + Giải thích: Ban đầu TURN = 1, tức tiến trình đợc phép sử dụng tài nguyên găng Khi tiến trình dùng tài nguyên găng xong đặt TURN = 2, phép tiến trình sử dụng tài nguyên găng Khi tiến trình sử dụng xong tài nguyên găng lại đặt TURN = 1, để đến lợt tiến trình sử dụng + Tuy nhiên ta giả sử tiến trình dùng xong tài nguyên găng, sau đặt TURN = sang thực thủ tục thuc_hien_viec_khac_1, thủ tục ngắt, tiến trình quay lại đoạn găng Nhng lúc tiến trình bận thực công việc khác thủ tục thuc_hien_viec_khac_2 Tiến trình cha vào đoạn găng biến TURN có giá trị Vì tài nguyên găng không đợc sử dụng nhng TURN = mà tiến trình sử dụng đợc tài nguyên găng - Để khắc phục nhợc điểm ngời ta đa cách thức dùng hai biến c1 c2 cho hai tiến trình nh sau: + Sơ đồ nguyên lý Var c1,c2 : integer; Begin c1 := 0; c2 := 0; ParBegin { Hai khối lệnh từ khoá ParBegin ParEnd đợc thực song song với } TT1: REPEAT while (c2 > 0) ; c1 := 1; vao_doan_gang_1; { đoạn găng tiến trình } c1 := 0; thuc_hien_viec_khac_1; { phần lại tiến trình } UNTIL FALSE; Lê Tiến Dũng BM Công nghệ phần mềm Hệ điều hành trang 88/96 TT2: REPEAT while (c1 > 0) ; c2 := 1; vao_doan_gang_2; { đoạn găng tiến trình } c2 := 0; thuc_hien_viec_khac_2; { phần lại tiến trình } UNTIL FALSE; ParEnd; End - Giải thích C1 C2 đại diện cho việc sử dụng tài nguyên găng thứ tài nguyên găng thứ hai + Ban đầu hai biến có giá trị thể tài nguyên găng trạng thái sẵn sàng phục vụ + Giả sử tiến trình đợc phục vụ trớc, tiến trình bỏ qua việc chờ đợi while (c2 > 0) ; vµ chiÕm lÊy tµi nguyên găng đồng thời đặt C1 = 1; + C1 = có nghĩa tiến trình sử dụng tài nguyên găng Trong lúc tài nguyên găng bị tiến trình chiếm giữ tiến trình phải chờ đợi while (c1 > 0) ; Khi tiến trình dùng xong tài nguyên găng đặt l¹i biÕn C1 = + Khi C1 = tiến trình kết thúc việc chờ đợi while (c1 > 0) ; { đợc kết thúc c1 = } lúc tiến trình chiếm giữ tài nguyên găng đặt C2 = 1; Khi tiến trình dùng xong tài nguyên găng đặt lại C2 = 0; + Quá trình nh đợc lặp lặp lại, kết thúc hai tiến trình (lệnh kết thúc đoạn chơng trình đoạn găng) - Trong trờng hợp tồi nhất, hai tiến trình vào đoạn găng đặt biến C1 C2 1, hai tiến trình không vào đợc đoạn găng gây tợng chờ đợi vòng tròn Lý đo việc xác lập vào đoạn găng khả xem xét có đợc vào đoạn găng hai đoạn quan hệ với - Vì ngời ta đa phơng pháp khác phối hợp hai phơng pháp trên, phơng pháp phối hợp Xác lập Kiểm tra Xác lập, Delker công bố năm 1968 nh sau: Var c1, c2, tt: integer; Begin c1:=0; c2:=0; tt:=1; Lê Tiến Dũng BM Công nghệ phần mềm Hệ điều hành trang 89/96 ParBegin TT1: REPEAT c1:=1; while(c2=1) Begin if(tt = 2) then Begin c1:=0; while(tt =2) do; c1:=1; End; End; vao_doan_gang_1; c1:=0; tt:=2; thuc_hien_viec_khac_1; UNTIL FALSE; TT2: REPEAT c2:=1; while(c1=1) Begin if(tt = 1) then Begin c2:=0; while(tt =1) do; c2:=1; End; End; vao_doan_gang_2; c2:=0; tt:=1; thuc_hien_viec_khac_2; UNTIL FALSE; ParEnd; End - ¦u điểm: + Giải thuật có tính chất vạn áp dụng cho công cụ hệ thống + Tận dụng, phát huy khả tối đa tài nguyên găng - Nhợc điểm + Độ phức tạp tỷ lệ với số lợng tiến trình số tài nguyên găng + Tồn tợng chờ đợi tích cực Mặc dù không làm nhng chiếm thời gian processor Nguyên nhân tiến trình phải làm việc với nhiều biến, có nhiều biến (ví dụ: muốn xác lập biến c1 phải kiểm tra biến c2 biến tt) Lê Tiến Dũng BM Công nghệ phần mềm Hệ điều hành trang 90/96 Phơng pháp Kiểm tra Xác lập (Test and Set) - Trong hƯ lƯnh cđa m¸y tÝnh tồn lệnh cho thực nhiều công việc liên tục Các công việc tạo thành hệ lệnh nguyên tố, thực công việc Thủ tục Test_And_Set đợc định nghĩa nh sau: Procedure TS(var local: integer); Begin local:=global; global:=1; End; + Chó ý: hai lệnh phải đợc thực liên tục không bị chia rẽ + Mỗi tiến trình sử dụng hai biến biến local biến global toàn chơng trình - Sơ đồ điều độ Var lc1, lc2: integer; global: integer; Procedure TS(var local: integer); Begin local:=global; global:=1; End; Begin gl:=0; ParBegin TT1: REPEAT lc1:=1; while lc1=1 TS(lc1); vao_doan_gang_1; gl:=0; thuc_hien_viec_khac_1; UNTIL FALSE; TT2: REPEAT lc2:=1; while lc2=1 TS(lc2); vao_doan_gang_2; gl:=0; thuc_hien_viec_khac_2; UNTIL FALSE; ParEnd; End Lê Tiến Dũng BM Công nghệ phần mềm Hệ điều hành Global 1 trang 91/96 Lc1 Lc2 (chê đợi) (chờ đợi) - Ưu điểm: Khắc phục đợc độ phức tạp thuật toán, độ phức tạp thuật toán không phụ thuộc vào số lợng tiến trình - Nhợc điểm: Vẫn tợng chờ đợi tích cực Kỹ thuật đèn báo Đây công cụ phụ thuộc vào hệ thống Dijkstra đề xt, víi t− t−ëng nh− sau: - HƯ thèng sư dụng biến đèn báo nguyên đặc biệt (Semaphore) s Ban đầu s nhận giá trị khả phục vụ tài nguyên găng Hệ thống có hai phép để thao tác s P(s) V(s) P: Proberen (tiếng Hà Lan) có nghĩa giảm V: Verhogen cã nghÜa lµ kiĨm tra - Néi dung cđa P(s) nh sau: + Giảm s một: s := s – + KiĨm tra xem nÕu s

Ngày đăng: 20/04/2015, 15:05

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan