Unformatted text preview: iver satisﬁes the request by executing code in the device
ﬁrmware that reads data in a way that is unique to the device. Device drivers are usually installed
one of two ways: (1) before a speciﬁc hardware device is attached to a computer, or (2) after a
device has been attached and identiﬁed. In the latter case, the OS recognizes the device name
and signature; it then locates and installs the device driver software onto the computer.
We can put the I/O hierarchy into perspective by showing what happens when an application
program displays a string of characters on the screen in (Figure 2–13). The following steps are
1. A statement in the application program calls an HLL library function that writes the string to
2. The library function (Level 3) calls an operating system function, passing a string pointer.
3. The operating system function (Level 2) uses a loop to call a BIOS subroutine, passing it the
ASCII code and color of each character. The operating system calls another BIOS subroutine
to advance the cursor to the next position on the screen.
4. The BIOS subroutine (Level 1) receives a character, maps it to a particular system font, and
sends the character to a hardware port attached to the video controller card.
5. The video controller card (Level 0) generates timed hardware signals to the video display that
control the raster scanning and displaying of pixels. Figure 2–13 Access Levels for Input-Output Operations.
Application Program Level 3 OS Function Level 2 BIOS Function Level 1 Hardware Level 0 For More BS-IT Books, Notes & Assignments visit: www.bsit.zxq.net 54 Chapter 2 • x86
Downloaded From: www.bsit.zxq.net Processor Architecture Programming at Multiple Levels Assembly language programs have power and ﬂexibility in
the area of input-output programming. They can choose from the following access levels
• Level 3: Call library functions to perform generic text I/O and ﬁle-based I/O. We supply such
a library with this book, for instance.
• Level 2: Call operating system functi...
View Full Document
This note was uploaded on 11/29/2013 for the course CSE 451 taught by Professor Hussein during the Winter '13 term at Fatih Üniversitesi.
- Winter '13