Bài giảng Hệ điều hành: Chương 2 - ThS. Phạm Thanh Bình

60 116 0
Bài giảng Hệ điều hành: Chương 2 - ThS. Phạm Thanh Bình

Đ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

Bài giảng Hệ điều hành - Chương 2 cung cấp cho người học các kiến thức về Tiến trình và luồng bao gồm: Các khái niệm, các trạng thái của một tiến trình, điều độ tiến trình. Mời các bạn cùng tham khảo nội dung chi tiết.

    HỆ ĐIỀU HÀNH Giảng viên: Ths Phạm Thanh Bình Bộ mơn Kỹ thuật máy tính & mạng http://vn.myblog.yahoo.com/CNTT­wru http://ktmt.wru.googlepages.com Bộ mơn Kỹ thuật máy tính & mạng – Khoa CNTT Hệ điều hành 2 ­ 1 Chương 2:       TIẾN TRÌNH VÀ LUỒNG  Các khái niệm  Các trạng thái của một tiến trình  Điều độ tiến trình Bộ mơn Kỹ thuật máy tính & mạng –  Khoa CNTT   Hệ điều hành 2 ­ 2 Bài 2.1 – Các khái niệm  Thực hiện tuần tự và song song  Tiến trình là gì?  Khối mơ tả tiến trình  Các hình thức tổ chức tiến trình  Luồng là gì?  Phân biệt tiến trình và luồng Bộ mơn Kỹ thuật máy tính & mạng –  Khoa CNTT   Hệ điều hành 2 ­ 3 Thực hiện tuần tự và song song  Thực hiện tuần tự: Tại một thời điểm  chỉ có thể thực hiện một chương trình, khi  chương trình đó thực hiện xong thì mới  chạy được chương trình khác Bộ mơn Kỹ thuật máy tính & mạng –  Khoa CNTT   Hệ điều hành 2 ­ 4  Thực hiện song song: Có thể chạy nhiều  chương trình cùng một lúc Bộ mơn Kỹ thuật máy tính & mạng –  Khoa CNTT   Hệ điều hành 2 ­ 5 Tiến trình là gì?  Một tiến trình (Process) là sự thực hiện  một chương trình   Mỗi tiến trình sẽ được chạy trong  khoảng thời gian (vài chục hay vài trăm  mili giây), sau đó nó sẽ chuyển CPU cho  tiến trình khác          Tạo ra cảm giác các chương trình chạy  song song Bộ mơn Kỹ thuật máy tính & mạng –  Khoa CNTT   Hệ điều hành 2 ­ 6  Làm cách nào để phân biệt được tiến  trình này với tiến trình khác trong hệ  thống?          Mỗi tiến trình cần có đặc trưng riêng,  như ID của tiến trình, tài ngun của tiến  trình Bộ mơn Kỹ thuật máy tính & mạng –  Khoa CNTT   Hệ điều hành 2 ­ 7 Khối mơ tả tiến trình Là nơi chứa những đặc trưng của một tiến  trình, bao gồm:  Biến trạng thái: Lưu giữ trạng thái của tiến  trình (Sẵn sàng, Đang thực hiện, Ngắt)  Vùng nhớ lưu giá trị các thanh ghi mà tiến trình  sử dụng  Thơng tin về các tài ngun mà tiến trình sử  dụng  Thơng tin phục vụ cho việc liên lạc với các tiến  trình khác (nếu có) Bộ mơn Kỹ thuật máy tính & mạng –  Khoa CNTT   Hệ điều hành 2 ­ 8  Hệ điều hành phải có cơng cụ để quản lý  các tiến trình  Mỗi hệ điều hành thường có một tập hợp  các hàm quản lý tiến trình như Khởi tạo  tiến trình, Huỷ tiến trình  Ví dụ:      Chương trình “Windows Task Manager” Bộ mơn Kỹ thuật máy tính & mạng –  Khoa CNTT   Hệ điều hành 2 ­ 9 Các hình thức tổ chức tiến trình  Độc lập  Có quan hệ thơng tin  Phân cấp  Đồng mức Bộ mơn Kỹ thuật máy tính & mạng –  Khoa CNTT   Hệ điều hành 2 ­ 10  Ví dụ: Hiện kí tự ‘M’ ra màn hình Bộ mơn Kỹ thuật máy tính & mạng –  Khoa CNTT   Hệ điều hành 2 ­ 46 Cách 2:   Sử dụng các cấu trúc và hợp REGS:  (xem trang sau)  Hàm gọi ngắt: int86(SốHiệuNgắt, Regs đầu vào, Regs đầu ra); int86x(SốHiệuNgắt, Regs vào, Regs ra, SRegs); Bộ mơn Kỹ thuật máy tính & mạng –  Khoa CNTT   Hệ điều hành 2 ­ 47 Các cấu trúc và hợp trong “dos.h” struct WORDREGS       //Các thanh ghi 16 bít và cờ     {unsigned int ax, bx, cx, dx, si, di, cflag, flags;}; struct BYTEREGS        //Các thanh ghi 8 bít     {unsigned char al, ah, bl, bh, cl, ch, dl, dh;}; struct SREGS                //Các thanh ghi đoạn     {unsigned int es, cs, ss, ds;}; union REGS       //Kết hợp các thanh ghi 8 bít và 16  bít      {         struct WORDREGS x;       struct BYTEREGS h; Bộ mơn Kỹ thuật máy tính & mạng –      } Khoa CNTT   Hệ điều hành 2 ­ 48  Ví dụ: Đặt thanh ghi AH bằng 2 (cách 1 dùng struct, cách 2 dùng union) Bộ mơn Kỹ thuật máy tính & mạng –  Khoa CNTT   Hệ điều hành 2 ­ 49 Chương trình xử lý ngắt của người  dùng  Các cơng việc mà hệ thống phải thực  hiện khi có tín hiệu ngắt  Các bước để thực hiện chương trình xử  lý ngắt của người dùng (4 bước)  Cấu trúc của một chương trình xử lý ngắt Bộ mơn Kỹ thuật máy tính & mạng –  Khoa CNTT   Hệ điều hành 2 ­ 50 Các cơng việc mà hệ thống phải  thực hiện khi có tín hiệu ngắt   Bộ mơn Kỹ thuật máy tính & mạng –  Khoa CNTT   Hệ điều hành 2 ­ 51 Các bước để thực hiện chương  trình xử lý ngắt của người dùng  Có 4 bước sau đây: Bộ mơn Kỹ thuật máy tính & mạng –  Khoa CNTT   Hệ điều hành 2 ­ 52 Bước 1: Viết hàm xử lý ngắt mới Hàm này phải thoả mãn các yêu cầu sau:  Khai báo hàm có dạng: void interrupt NewInt( );   hoặc:  void interrupt NewInt(INTERRUPT_REGS);  Nội dung hàm càng đơn giản càng tốt (dùng  các phép tính với số ngun hay ký tự, các  Bộphép logic), khơng nên dùng l  mơn Kỹ thuật máy tính & mạng –  ệnh gọi ngắt Khoa CNTT   Hệ điều hành 2 ­ 53 Định nghĩa danh sách thanh ghi  INTERRUPT_REGS #define u_int unsigned int #define INTERRUPT_REGS u_int bp, u_int di, \    u_int si, u_int ds, u_int es, u_int dx, u_int cx, \    u_int bx, u_int ax, u_int ip, u_int cs, u_int flags Bộ mơn Kỹ thuật máy tính & mạng –  Khoa CNTT   Hệ điều hành 2 ­ 54 Bước 2:  Lưu lại địa chỉ của chương trình xử lý  ngắt cũ (để sau này có thể khơi phục lại)  Sử dụng hàm getvect: getvect(Số hiệu ngắt)  Ví dụ: Lưu địa chỉ của ngắt 15h void interrupt OldInt( ); OldInt = getvect(0x15); Bộ mơn Kỹ thuật máy tính & mạng –  Khoa CNTT   Hệ điều hành 2 ­ 55 Bước 3:  Đặt địa chỉ của hàm xử lý ngắt mới vào vị  trí tương ứng trên bảng vector ngắt  Sử dụng hàm setvect: void setvect(Số hiệu ngắt, Địa chỉ hàm xử lý ngắt);  Ví dụ: Đặt địa chỉ của hàm NewInt vào  bảng vector ngắt để thay thế cho hàm xử  lý ngắt 15h cũ setvect(0x15, NewInt); Bộ mơn Kỹ thuật máy tính & mạng –  Khoa CNTT   Hệ điều hành 2 ­ 56 Bước 4:  Khơi phục lại chương trình xử lý ngắt cũ  Ví dụ: Khơi phục lại chương trình xử lý  ngắt 15h cũ setvect(0x15, OldInt); Bộ mơn Kỹ thuật máy tính & mạng –  Khoa CNTT   Hệ điều hành 2 ­ 57 Chú ý:  Khi sử dụng hàm setvect cần thiết lập  chắn ngắt:  Ví dụ:     disable();  //Chắn ngắt trước khi gọi  setvect     setvect(0x15, NewInt);     enable();   //Mở chắn Bộ mơn Kỹ thuật máy tính & mạng –  Khoa CNTT   Hệ điều hành 2 ­ 58 Cấu trúc của một chương trình xử lý  ngắt   Bộ mơn Kỹ thuật máy tính & mạng –  Khoa CNTT   Hệ điều hành 2 ­ 59 Hết Phần 2 Bộ mơn Kỹ thuật máy tính & mạng –  Khoa CNTT   Hệ điều hành 2 ­ 60 ... Khoa CNTT   Hệ điều hành 2 ­ 16 Bài 2. 3 – Điều độ tiến trình  Tài ngun găng Điều độ tiến trình  Các giải thuật điều độ Bộ mơn Kỹ thuật máy tính & mạng –  Khoa CNTT   Hệ điều hành 2 ­ 17 Tài ngun găng.. .Chương 2:       TIẾN TRÌNH VÀ LUỒNG  Các khái niệm  Các trạng thái của một tiến trình Điều độ tiến trình Bộ mơn Kỹ thuật máy tính & mạng –  Khoa CNTT   Hệ điều hành 2 ­ 2 Bài 2. 1 – Các khái niệm... Khoa CNTT   Hệ điều hành 2 ­ 21   Các thuật ngữ: Điều độ = scheduling  Bộ phận điều độ = scheduler   Giải thuật điều độ = scheduling algorithm  Bộ mơn Kỹ thuật máy tính & mạng –  Khoa CNTT   Hệ điều hành

Ngày đăng: 30/01/2020, 04:43

Từ khóa liên quan

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

Tài liệu liên quan