Khái niệm hệ điều hành pptx

36 460 2
Khái niệm hệ điều hành pptx

Đ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

HỆ ĐIỀU HÀNH Mở đầu. I. Hệ điều hành là gì ? - Là các chương trình giúp người sử dụng giao tiếp dễ dàng với máy. - Quản lý các tài nguyên của máy tính để nạp và thực thi chương trình để đạt hiệu quả cao nhất. II. Các chức năng: - Quản lý các tiến trình (process) + Điều phối CPU : First in first out , Shortest Job First, quay vòng Round Robin. + Critical Section (viết tắt : CS, miền găng): đưa ra giải thuật bảo đảm để ở một thời điểm chỉ có duy nhất một tiến trình thực thi miền găng. + Đồng bộ hóa các tiến trình: buộc tiến trình phải thực hiện theo một trình tự nào đó. (Semaphore) + Dead lock : loại trừ, tránh, phát hiện và giải quyết. - Quản lý vùng nhớ : + Phân chia bộ nhớ cho các tiến trình (phân vùng cố định, phân vùng liên tục, phân trang, phân đọan, kết hợp phân trang và phân đoạn ) + Định vị địa chỉ + Bộ nhớ ảo – Chiến lược chọn trang thay thế - Quản lý file và đĩa: tổ chức lưu trữ file trên đĩa. - Quản lý thiết bị ngoại vi. + Driver: hoạt động giao tiếp giữa phần cứng, thiết bị với hệ điều hành. + DMA (Direct Memory Access) + PNP (Plug and play). He dieu hanh 2 Page 1 Bài 1. QUẢN LÝ TIẾN TRÌNH. I. Tiến trình: - Tiến trình (Process) là chương trình đang thực thi. - Tiến trình chiếm tài nguyên : CPU, bộ nhớ, các thiết bị xuất nhập. - Các thông tin về tiến trình lưu trữ trong PCB (Process Control Block): id của tiến trình, trạng thái của tiến trình, ngữ cảnh của tiến trình : con trỏ lệnh, khối nhớ của tiến trình, danh sách tiến trình con do tiến trình này tạo ra, độ ưu tiên của tiến trình, thông tin thống kê. - Tiểu trình: phát sinh bởi tiến trình (thread) giúp tiến trình hoàn tất nhanh hơn. Sử dụng bộ nhớ của tiến trình (nhưng có stack riêng). - Các trạng thái của tiến trình. II. Điều phối CPU: 3 sv thi 0g A 3g-B-3g30—C 5g Ai tới trước, thi trước: FIFO(độc quyền) 3+3.5+5=11.5 11.5/3=4 (thời gian hoàn thành trung bình) 0+3+3.5=6.5  6.5/3=2,1(thời gian chờ trung bình) Ai giỏi thi trước :SJF(độc quyền) 0g-B-0g30 C 2g A 5g 0.5+2+5=7.5  7.5/3=2.5(Tftb) 0+0.5+2=2.5  2.5/3=0.8(Twtb) Luân phiên: Round robin(không độc quyền) 0g-A-0.30-B-1-C-1.30-A-2g-C-2g30-A-3g-C-3g30-A-4g-A-4g30-A-5g Tftb =1+3.5+5…=9.5/3=3.2? Twtb=? B xong lúc 1g C xong lúc 3g30 A xong lúc 5g B chờ 0.5 C chờ 1+0.5+0.5=2g He dieu hanh 2 Page 2 Khởi tạo Ready list Block list Kết thúc Running (Hàng đợi các tiến trình sẵn sàng} (Hàng đợi các tiến trình bị chặn) A chờ 0+1+0.5+0.5=2g Twtb=0.5+2+2=4.5g/3=1.5g 1. Trong hệ điều hành đa tiến trình, có nhiều cách điều phối CPU Process Thời điểm readylist Thời gian CPU 1 0 24 2 1 3 3 2 3 First In First Out (FIFO) : tiến trình được nạp vào Ready List trước sẽ thực hiện trước. Loại độc quyền. + Thời gian lưu lại hệ thống (thời gian hoàn thành) P 1 24 P 2 27 P 3 30 P 1 P 2 P 3 t f = 24 + 27 + 30 = 81 t fTB = 81/3 = 27 + Thời gian chờ: tw = 0 + 23 + 25 = 48 t wTB = 48 / 3 = 16 Shortest Job First : tiến trình có thời gian xử lý ngắn nhất thực hiện trước. Loại độc quyền. + Thời gian lưu lại hệ thống: P 2 3 P 3 6 P 1 30 P 2 P 3 P 1 T a = 3 + 6 + 30 = 39 T a TB = 39 : 3 = 13 + Thời gian chờ: T b = 0 + 3 + 6 = 9 T b TB = 9 : 3 = 3 < 16 Round Robin: quay vòng, mỗi tiến trình được cấp phát CPU trong một khoảng thời gian giới hạn (time slide, vd = 4) + Thời gian lưu lại hệ thống: P 1 4 P 2 7 P 3 10 P 1 14 18 22 26 30 P 2 P 3 P 1 T f = 7 + 10 + 30 = 47 T f TB = 47: 3 = 15.7 + Thời gian chờ: T w = 0 + 6 + 0 + . . . . + 4 + 7 = 17 T f TB = 17 : 3 = 5.6 P 1 P 2 He dieu hanh 2 Page 3 - Độ ưu tiên: tiến trình có độ ưu tiên cao sẽ thực hiện trước. Tiến trình Thứ tự xuất hiện Thời gian thực hiện Độ ưu tiên P 1 0 24 2 P 2 0 3 1 P 3 0 3 3 + Thời gian lưu lại hệ thống: P 2 3 P 1 27 P 3 30 P 2 P 1 P 3 T f = 3 + 27 + 30 = 60 T f TB = 60 : 3 = 20 + Thời gian chờ: T w = 0 + 3 + 27 = 30 T w TB = 30 : 3 = 10 - Không độc quyền: độ ưu tiên sẽ giảm khi trở lại Readylist. τ = 2 (bài tập) + Thời gian lưu lại hệ thống: P 2 2 P 1 4 P 2 5 P 3 7 P 1 9 P 3 30 P 1 P 2 P 3 T a = 5 + 10 + 30 = 45 T a TB = 45: 3 = 15 + Thời gian chờ: T b = 2 + 5 + 6 + 2 + 3 + 1 = 15 T b TB = 15 : 3 = 5 P 1 P 3 P 1 III. Vấn đề Critical secsion: 1. Critical section(CS) Là đoạn chương trình mà 2 (từ 2 trở lên) tiến trình thực hiện đồng thời có thể phát sinh kết qủa ngoài ý muốn. Ví dụ: if (tiềnrút <= tàikhoản) tàikhoản = tàikhoản - tiềnrút P1 Tiềnrút=400, tàikhoản=500 If (tiềnrút<=tàikhoản) P2 Tiềnrút=300, tàikhoản=500 If (tiềnrút<=tàikhoản) P1 Tàikhoản -=tiềnrút  tàikhoản= 100 P2 Tàikhoản -=tiềnrút  tàikhoản= -200??? Tức là khách hàng rút ra số tiền lớn hơn số tiền gửi vào ngân hàng He dieu hanh 2 Page 4 2. Các giải pháp: a). Giải pháp cờ hiệu: Sử dụng một biến cờ : int flag = 0 ; // flag = 0 : Critical section tự do, flag=1 : Critical section bận while (TRUE) { while (flag= = 1); // vòng lặp đợi cho đến khi flag = 0 flag = 1; critical section ();// ví dụ đoạn rút tiền flag = 0; non_ critical section () } Flag=0 P1 While(flag==1); Flag=1 Cs(); đang chạy P2 While(flag==1);//lãng phí CPU P1 Cs(); xong Flag=0 Non_cs(); P2 While(flag==1); Flag=1 Cs(); P1 P2 Tình huống lỗi : Tiến trình Khởi động flag = 0 P1 while (flag= = 1); // thấy flag= 0 P2 while (flag= = 1); // thấy flag= 0 flag = 1; critical section (); //P2 đang chạy critical section P1 flag= 1; critical section (); //P1 cũng chạy critical section Hai tiến trình đồng thời thực hiện critical section  giải pháp cờ hiệu không “bảo vệ” được critical section b). Giải pháp luân phiên: Sử dụng biến luân phiên int turn; turn = 0  cho phép tiến trình P 0 thực hiện critical section; turn = 1  cho phép tiến trình P 1 thực hiện critical section Tiến trình P 1: He dieu hanh 2 Page 5 while (TRUE) { while (turn != 0); critical section ( );//A chạy cs turn = 1;//giao chìa cho người B non_ critical section (); } Tiến trình P 2: while (TRUE) { while (turn != 1); critical section ( );//B chạy cs turn = 0;// giao chìa cho A non_ critical section( ); } Turn = 1 P1 while (turn != 0); critical section ( );//A chạy cs P2 while (turn != 1);  lãng phí CPU P1 Critical section(); xong Turn= 1; P2 while (turn != 1); critical_section(); Tổng quát cho tiến trình P i trong trường hợp có n tiến trình P 0 ,P 1 , … ,P n-1 while (TRUE) { while (turn != i); critical section ( ); turn = (i + 1)%n ; non_ critical section( ); } Tình huống lỗi : Tiến trình Turn=0 P1 While(turn!=0); Cs(); Turn=1 Non_cs() P2 While(turn!=1); Cs(); Turn=0; Non_cs() xong P1 Non_cs() P2 While (turn!=1); lặp cho hết thời gian He dieu hanh 2 Page 6 P1 Non_cs(); P2 While (turn!=1); lặp cho hết thời gian P1 Non_cs(); P2 While (turn!=1); lặp cho hết thời gian P 0 ngăn chận P 1 thực hiện critical section (); He dieu hanh 2 Page 7 c). Giải pháp Peterson : int turn; // trong gp luân phiên int like[2]; // flag, like[0]=1;p1 muốn chạy cs Tiến trình P 1 : while (TRUE) { like[ 1 ] = 1;//p1 muốn chạy cs turn = 0 ;//p1 nhường quyền chạy cs cho p0 while ( turn = = 0 && like [ 0 ] = = 1 ); critical_section ( );//p1 chạy cs like [ 1 ] = 0;//p1 xong cs non_ critical_section ( ); } Tiến trình P1 : ??? Tiến trình Chương trình chạy P0 like [ 0 ] =1; turn = 1; while ( turn = = 1 && like [ 1 ] = = 1 ); critical section ();//P0 đang chạy cs P1 like [ 1 ] =1; turn = 0; while ( turn = = 0 && like [ 0 ] = = 1 ); //lãng phí thời gian CPU P0 critical section ();//P0 xong cs like [ 0 ] =0; non_critical section (); P1 while ( turn = = 0 && like [ 0 ] = = 1 ); critical section (); Bài tập: tìm tình huống lỗi trong gp Peterson Cả ba giải pháp đều có chung một khuyết điểm là lãng phí CPU. Do đó xếp vào loại giải pháp Busy_Waitting e) Giải pháp Sleep and wake_up: He dieu hanh 2 Page 8 Bắt đầu Ready list Block list Kết thúc Running Hàng đợi các tiến trình sẵn sàng Hàng đợi các tiến trình bị chặn Sleep ( ) : hàm tiến trình gọi để tự treo (blocked) vì critical section đang bận Wake_up ( ) : do một tiến trình vừa thực hiện critical section xong gọi, để đánh thức tiến trình bị blocked. int busy = 0 ; // giống biến flag int blocked = 0 ; // cho biết số tiến trình sleeping while (TRUE) { if ( bussy = = 1 ) // cs bận ? { blocked ++; sleep ( ); } busy = 1 ; critical_section ( ) ; busy = 0; if ( blocked > 0){ //có ttrình sleeping blocked ; wake_up ( ); //đánh thức tiến trình ngủ } non_critical_section ( ) ; } Tiến trình Busy=0 blocked=0 P1 if (busy = = 1) False bussy = 1 critical section ( ) ; đang chạy P2 if (bussy = = 1) blocked + +  blocked=1 sleep() ; P1 critical section ( ) ; xong busy=0 if (blocked>0) true blocked— wake up()  p2 P2 Busy=1 Critical section(); Trình bày tình huống lỗi trong gp sleep & wake up a. 2 tiến trình đồng thời chạy cs (hiệp, tám, vi, dũng, tấn) b. Có tiến trình nhưng ko được đánh thức(tâm,nguyên,phụng, huy) He dieu hanh 2 Page 9 c. P1 : if (busy==1) false P2 : if (busy==1) false Busy = 1 Cs(); P1 : busy = 1 Cs();  2 ttrình đồng thời cs P1 If (busy==1) false Busy=1 Cs() P2 If (busy==1) true Blocked++  blocked =1 P1 Busy=0 If (blocked>0) true Blocked  blocked = 0 Wakeup()  đánh thức ??? P2 Sleep()  P2 không bao giờ được đánh thức, vì blocked=0 P1 … Giải pháp có liên quan đến phần cứng: 1. Giải pháp cấm ngắt: (ngắt là một tín hiệu liên lạc) là tiến trình thực hiện critical section sẽ chiếm giữ ngắt timer được độc quyền CPU. Nguy hiểm. 2. Giải pháp xây dựng cụm chỉ thị không bi cắt ngang:  test_and_set(flag); f. Giải thuật Semaphore: Semaphore: là một giải thuật loại sleep and wake_up nhưng dùng đoạn chỉ thị không bị cắt ngang. Down ( ) { e = e – 1; e : cho biết số tiến trình bị treo. if ( e < 0 ) Sleep ( ); } Up ( ) { e = e + 1; if ( e <= 0 ) Wake_up ( ); } Ban đầu e=1 while ( TRUE ) He dieu hanh 2 Page 10 [...]... 4 Hệ thống tập tin của các hệ điều hành 4.1 Hệ thống tập tin của MS-DOS Các đặc điểm : sử dụng cấu trúc thư mục ( do đó có các khái niệm thư mục hiện hành, đường dẫn tương đối, tuyệt đối, kí hiệu và ), tên tập tin 8.3 không phân biệt chữ in/thường), các thiết bị bàn phím, màn hình, máy in cũng được xem là tập tin, và không có những đặc điểm sau : owner, goup, protect, link, mount Đĩa cứng : Hệ điều. .. liệu của tập tin, thư mục) He dieu hanh 2 Page 33 Bài 4 :QUẢN LÝ I/O Các vấn đề của hệ điều hành đối với các thiết bị IO : Thiết bị logic : -Là thiết bị dưới quan điểm của hệ điều hành : thiết bị độc lập với phần cứng Theo đó, thiết bị logic có 4 lớp : phần cứng, kiểm soát thiết bị qua các ngắt, phần mềm hệ điều hành điều khiển thiết bị, phần mềm ở mức user để user giao tiếp thiết bị Hai loại thiết... memory) 640 KB Chương trình OS Operating System Limit Register CPU < Base Register + Physical Memory Báo lỗi Nếu chương trình lớn hơn vùng nhớ tự do, hệ điều hành sẽ loại bỏ phần hệ điều hành không thiết yếu ra khởi bộ nhớ Sau khi chương trình hoàn thành, sẽ nạp command.com trở lại 32Mb 64MB 128Mb 256Mb 512Mb ` 32Mb 64MB 128Mb He dieu hanh 2 256Mb 512Mb Phân vùng cố định, liên tục, nhiều hàng đợi Phân... Bài 2 I Bộ nhớ: Bộ nhớ - Là một dãy liên tiếp các từ nhớ, mỗi từ có địa chỉ - Các nhiệm vụ của hệ điều hành : 1.Phân phối bộ nhớ cho các tiến trình 2.Định vị địa chỉ: ( xác định địa chỉ vật lý từ địa chỉ luận lý) 3.Cần giải pháp giải quyết các yêu cầu bộ nhớ rất lớn của các tiến trình - Trường hợp hệ điều hành đơn chương MS-DOS 640KB (Conventional memory) 640 KB Chương trình OS Operating System Limit... Bộ điều khiển thiết bị giúp giao tiếp giữa CPU với các thiết bị Thiết bị được chọn bằng ngắt và mỗi thiết bị có một vùng nhớ (vùng địa chỉ nhập/xuất): Thiết bị Địa chỉ nhập/xuất Ngắt Đồng hồ 040-043 8 Bàn phím 060-063 9 RS232 – 1 2F8-2FF 11 RS232 – 2 3F8-3FF 12 Đĩa cứng 320-32F 13 Máy in 378-37F 15 Màn hình mono 380-3BF Màn hình màu 3D0-3DF Đĩa mềm 3F0-3F7 14 Các bước điều khiển thiết bị : -Hệ điều hành. .. cluster * Có những loại lỗi nào trên đĩa mềm 1.44Mb? Giải thích và cho biết cách khắc phục lổi của hệ điều hành - Bad sector: ghi giá trị FF7 (hư) lên ô tương ứng trong FAT - Lost cluster: là cluster chưa sử dụng nhưng lại mang giá trị của ô tương ứng khác 0 Khi chạy các chương trình scan disk, ghi lại thành tập tin dạng *.chk He dieu hanh 2 Page 30 - Cross link: hai tập tin sử dụng chung một hay nhiều... hoặc trang đang ở trên bộ nhớ phụ (invalid) Khi CPU truy xuất đến một trang X, trước hết nó tìm trang X này trong bảng trang Nếu bit tương ứng với trang này là invalid (“lỗi trang”, “page fault”), hệ điều hành sẽ tìm khung trang còn trống để nạp từ bộ nhớ phụ hay trong trường hợp không còn khung trang nào trống, OS sẽ chọn một trang “nạn nhân” để swap ra đĩa, rồi nạp trang X từ bộ nhớ phụ vào 3, Các... trình : Các tiến trình cùng truy xuất đến các thông tin chung của hệ thống, hoặc cần hợp tác nhau để giải quyết một yêu cầu Do đó các tiến trình cần liên lạc với nhau 1 Loại liên lạc/ đặc tính của liên lạc : a Tường minh (explicit naming)/tiềm ẩn (implicit naming) b Đồng bộ/ không đồng bộ c Môi trường xảy ra liên lạc : hệ thống tập trung/ hệ thống phân tán 2 Các cơ chế liên lạc : 1 Tín hiệu (signal) 2... 1980); * Bảng Rootdir có 14 sector chiếm ? byte 14 sec torx512byte Rootdir : = số đề mục tập tin = 224 file (114.688 byte) 32 -> Có thể lưu tối đa 224 file ở thư mục gốc của đĩa mềm HỆ THỐNG QUẢN LÝ TẬP TIN 1 Các khái niệm Tên tập tin : Loại tập tin : Text, Binary Kiểu truy xuất : sequently, direct access (random access) Thuộc tính tập tin : Thư mục : Đường dẫn tương đối, đường dẫn tuyệt đối Các thao... Thêm, Dịch chuyển, Đọc thuộc tính, Thiết lập thuộc tính, Đổi tên He dieu hanh 2 Page 31 Các thao tác trên thự mục : Tạo, Xóa, Mở, Đóng, Đổi tên, Liên kết/ Bỏ liên kết 2 Cách quản lý tập tin của các hệ điều hành : 2.1 Bảng thư mục : các phần tử của bảng gọi là entry Mỗi entry chứa các thông tin liên quan : tên tập tin/thư mục, thuộc tính, vị trí lưu trữ 2.2 Cách lưu trữ nội dung tập tin: -Các khối lưu . HỆ ĐIỀU HÀNH Mở đầu. I. Hệ điều hành là gì ? - Là các chương trình giúp người sử dụng giao tiếp dễ dàng với máy. -. tiến trình bị chặn) A chờ 0+1+0.5+0.5=2g Twtb=0.5+2+2=4.5g/3=1.5g 1. Trong hệ điều hành đa tiến trình, có nhiều cách điều phối CPU Process Thời điểm readylist Thời gian CPU 1 0 24 2 1 3 3 2 3 First. đĩa. - Quản lý thiết bị ngoại vi. + Driver: hoạt động giao tiếp giữa phần cứng, thiết bị với hệ điều hành. + DMA (Direct Memory Access) + PNP (Plug and play). He dieu hanh 2 Page 1 Bài 1. QUẢN

Ngày đăng: 11/07/2014, 03:20

Từ khóa liên quan

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

Tài liệu liên quan