Đồ Án Lập trình hệ thống -Chương trình thường trú hiện đồng hồ thời gian thực lên phía góc trên bên phải c

Thảo luận trong 'Công Nghệ Thông Tin' bắt đầu bởi Thúy Viết Bài, 5/12/13.

  1. Thúy Viết Bài

    Thành viên vàng

    Bài viết:
    198,891
    Được thích:
    170
    Điểm thành tích:
    0
    Xu:
    0Xu
    1. Chương trình thường trú:

    a. Mục đích, khái niệm:

    DOS là hệ điều hành đơn nhiệm) không có khả năng thực hiện đồng thời nhiều chương trình). Ngày nay đã tồn tại nhiều hệ điều hành đa nhiệm như linux, Window

    Các chương trình thường trú tuy không thực sự tạo ra sự đa nhiệm vì các ct không thực hiện đồng thời nhưng nó cũng tạo cho ra được cảm giacs đa nhiệm trên hệ điều hành DOS.

    Bởi vì DOS là hệ điều hành đơn nhiệm, có nghĩa là tại một thời điểm chỉ có một chương trình được phép truy cập tới tài nguyên hệ thống như (vùng nhớ RAM, màn hình, bàn phím)

    b. Cơ chế :

    Một trong những yêu cầu của chương trình thường trú là sau khi kết thúc chương trình không bị xóa khỏi vùng nhớ ram mà để lại một phần thường trú). Thông tin giữ lại thường trú sẽ trở thành phần mở rộng của DOS và không bị các chương trình khác ghi đè lên. Vậy một vấn đề đặt ra là cơ chế nào để cho hệ điều hành biết phần chương trình nào cần để lại thường trú để hệ điều hành tiến hành các xử lí như đã nêu trên? Với ngôn ngữ ASM thì chúng ta có ít nhất hai biện pháp để thực hiện yêu cầu trên : ngắt 27h và chức năng 31h của ngắt 21h


    Ngắt 27h của DOS

    @ Chức năng : báo cho hệ điều hành DOS biết phải bảo vệ phần chương trình thường trú.

    @ Nhược điểm của ngắt này là chỉ cho phép đặt thường trú cho những chương trình nhỏ hơn 64K

    Vào DX trỏ đến địa chỉ OFFSET của lệnh cuối cùng trong phần thường trú +1

    Ra Không


    Chức năng 31h của ngắt 21h

    @ Chức năng :Là dạng nâng cao của ngắt phổ dụng 27h dùng để kết thúc và cho chương trình thường trú. Ngoài việc kết thúc hàm con trả về mã trong AL

    @ Ưu điểm của ngắt này là trả về mã lỗi và cho phép đặt thường trú đối với những chương trình lớn hơn 64K


    Vào AH=31H

    DX chưa kích thước phần chương trình thường trú

    Ra AL chứa mã lỗi


    c. Cấu trúc của một chương trình thường trú

    Gồm hai phần:

    ã Phần giữ lại thường trú và phần khởi tạo

    ã Phần giữ lại thường trú :

    Sau khi kết thúc, phần chương trình này nằm lại thường trú. Nội dung của phần này tùy theo đề yêu cầu


    Phần khởi tạo :

    Phần này sẽ bị xóa khỏi vùng nhớ RAM khi chương trình kết thúc. Phần này chỉ làm nhiệm vụ khởi tạo các chức năng ban đầu

    + Đặt địa chỉ đầu của chương trình con phục vụ ngắt vào bảng vecto ngắt)

    + Báo cho hệ điều hành biết phần chương trình cần giữ lại thường trú

    Phần giữ lại thường trú : Các nội dung muốn giữ lại thường trú
     

    Các file đính kèm:

Đang tải...