Question

Interrupts related

Asked by: bbk_doll

What is difference between DOS Interrupts and BIOS Interrupts?
Please explain 3-4 differences.
thanks.

This Question has been solved and asker verified All Experts Exchange premium technology solutions are available to subscription members.

Subscribe now for full access to Experts Exchange and get

Instant Access to this Solution

  • Plus...
  • 30 Day FREE access, no risk, no obligation
  • Collaborate with the world's top tech experts
  • Unlimited access to our exclusive solution database
  • Never be left without tech help again

Subscribe Now

Asked On
2007-01-05 at 23:49:09ID22113196
Tags

interrupt

,

bios

,

dos

Topic

Assembly Programming Language

Participating Experts
2
Points
100
Comments
8

Trusted by hundreds of thousands everyday for fast, accurate and reliable tech support.

  • "The time we save is the biggest benefit of Experts Exchange to Warner Bros. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange." Mike Kapnisakis, Warner Bros.
  • "Our team likes having a resource that is more secure than just using Google and most experts using this service really know their stuff. It's nice to look here first versus using Google." Dayna Sellner, Lockheed Martin
  • "Anytime that I've been stumped with a problem, 9 out of 10 times Experts Exchange has either the accepted solution or an open discussion of the potential solution to the problem." Kenny Red, eBay Inc.

See what Experts Exchange can do for you.

Got a question?

We've got the answer.

Experts Exchange has been collecting answers to technology questions since 1996…3 million and counting! If you have a question, chances are we already have your answer.

Screenshot of Experts Exchange Knowledgebase

Need individual assistance?

Our experts are ready to help.

If you can't find the exact answer you're looking for, ask our exclusive community of 50,000 experts. You’ll get a personalized answer from a trusted professional.

Screenshot of Experts Exchange Knowledgebase

Want to learn from the best?

Read articles from industry experts.

Thousands of free tech tips, tricks, how-to’s and tutorials are available in our peer reviewed articles section. See for yourself how smart our experts are, no login required.

Screenshot of an Article

Working on a long term project?

Store your work and research.

Save solutions to your questions, answers you’ve discovered through searching plus helpful articles in your personal knowledgebase for easy future access.

Screenshot of Experts Exchange Knowledgebase

Access the answers to your technology questions today.

Subscribe Now

30-day free trial. Register in 60 seconds.

What Makes Experts Exchange Unique?

Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.

Trusted by the world's most respected brands.

image of each brand's logo

Faithfully serving IT professionals since 1996.

Experts Exchange Logo

Try it out and discover for yourself.

Subscribe Now

30-day free trial. Register in 60 seconds.

Related Solutions

  1. interrupts & windows
    Is windows is interrupt oriented os?If yes then how can I take control of this interrupts?Also,does windows is using dos interrupt functions for memmory allocations.How can I restrict one other programs to access some memory locations in windows
  2. Signals and Interrupts
    What is the difference between a signal and an interrupt?
  3. --Change an Interrupt Vector--
    Hi! 1- How To Change An Interrupt Vector?(Example: Change INT 10,04 Vector To My Routine) 2- If I Change an Interrupt Vector, Changing Will Remain On The BIOS? Please Give Me an Example For Q-1. I'm Using Tasm. Bye Programmer-x

Free Tech Articles

  1. WARNING: 5 Reasons why you should NEVER fix a computer for free.
    It is in our nature to love the puzzle. We are obsessed. The lot of us. We love puzzles. We love the challenge. We thrive on finding the answer. We hate disarray. It bothers us deep in our soul. W...
  2. SCCM OSD Basic troubleshooting
    SCCM 2007 OSD is a fantastic way to deploy operating systems, however, like most things SCCM issues can sometimes be difficult to resolve due to the sheer volume of logs to sift through and the dispe...
  3. Migrate Small Business Server 2003 to Exchange 2010 and Windows 2008 R2
    This guide is intended to provide step by step instructions on how to migrate from Small Business Server 2003 to Windows 2008 R2 with Exchange 2010. For this migration to work you will need the fo...
  4. Create a Win7 Gadget
    This article shows you how to create a simple "Gadget" -- a sort of mini-application supported by Windows 7 and Vista. Gadgets can be dropped anywhere on the desktop to provide instant information, ...
  5. Outlook continually prompting for username and password
    There have been a lot of questions recently regarding Outlook prompting for a username and password whilst using Exchange 2007. There are a few reasons why this would happen and I will try to cover t...
  6. Backup Exchange 2010 Information Store using Windows Backup
    There seems to be quite a lot of confusion around the ability to backup Exchange 2010 using the built in Windows Backup feature. This stems from the omission of this feature prior to Exchange 2007 s...

Cloud Class Webinars

  1. Avoiding Bugs in Microsoft Access
    Alison Balter takes and in-depth look at avoiding bugs in Access. In this webinar you will learn about using the immediate window to debug your applications, invoking the debugger, using breakpoints to troubleshoot, stepping through code, setting the next statement to execute, ...
  2. Top 10 Best New Features in Visio 2010
    Scott Helmers gives live demonstrations of the top 10 new features in Visio 2010. This webinar will teach you how to create compelling diagrams by adding shapes to the page with a single click, linking the shapes in a diagram to data in Excel (or SQL Server, or SharePoint), ...
  3. IT Consultant Business Secrets Revealed
    Michael Munger, Experts Exchange tech pro and IT consultant, pulls back the curtain on his very successful businesses and answers question on every IT consultant and business owner should know about. He shares secrets on what he did to solve the 5 most common problems in IT, ...
  4. Disaster Recovery and Business Continuity
    Quest CTO, Mike Billon, gives an overview of the steps involved in building a dunamic disaster recovery plan. Through case studies and an examination of software/hardware tooles for monitoring and testing, you'll gain a better understandin of where you are, where you want ...
  5. Organize Your Visio Diagrams with Containers and Lists
    Scott Helmers uses cross functional flowcharts, wireframe diagrams, data graphic legends and seating charts to teach you: how to ustilize all three new structured diagram components in Visio 2010, the best practices for organizeing shapes in previous version of Visio, how to organize ...
  6. How to Us Objects, Properties, Events and Methods in Microsoft Access
    Alison Dalter gives an in-depbth look at objects, properties, events and methods in Microsoft Access. In this webinar you will learn about using the object browser, referring to objects, working with properties and methods, working with object variables, understanding the ...

Join the Community

Give a Little. Get a Lot.

Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.

Join the Community

Answers

 

by: dimitryPosted on 2007-01-06 at 15:05:12ID: 18259728

Let's use word "services" instead of interrupts.
BIOS services are "installed" by BIOS before DOS (it hooks next interrupts):
  INT 10H Video services
  INT 11H Equipment list
  INT 12H Conv. memory size
  INT 13H Disk I/O
  INT 14H Serial port I/O
  INT 15H AT services; APM
  INT 16H Keyboard I/O
  INT 17H Printer I/O
  INT 18H ROM-BASIC
  INT 19H Bootstrap
  INT 1aH Time I/O; MRCI hook

DOS "services" are installed by DOS (DOS hooks specific interrupts):
   INT 20H Terminate a program
   INT 21H DOS Services
   INT 22H Terminate address
   INT 23H Control-Break address
   INT 24H Critical Error Handler address
   INT 25H/26H Absolute Disk Read/Write
   INT 27H Terminate but Stay Resident
   INT 28H DOS Idle (safe to pop up)
   INT 29H DOS Internal Fast Screen Write
   INT 2eH Perform DOS Command
   INT 2fH Multiplex (DoubleSpace, spooler, TSR control, other APIs)
   INT 31H DPMI DOS Protected Mode Interface Services

 

by: bbk_dollPosted on 2007-01-06 at 21:15:58ID: 18260962

Thanks dimitry !! but these are just specific interrupt numbers.
i want to know differences if any between BIOS and DOS interrupts like their calling, working, Interrupt Vector Table etc.
please reply.
Thanks.

 

by: dimitryPosted on 2007-01-06 at 23:23:44ID: 18261198

Your question is too generic. Do you have specific question ?
Interrupt number like 21H defines specific place in Interrupt Vector Table: 0x21 x 4 = 0x84
BIOS "interrupts" provide basic Input / Output services.
DOS "interrupts" provide OS services.
For example DOS services have file access but BIOS services provide just raw disk access.

 

by: bbk_dollPosted on 2007-01-07 at 19:57:15ID: 18264597

thanks dimitry !!
yes, it is generic as i want some general differences in both like the one you have given above :
>>BIOS "interrupts" provide basic Input / Output services.
DOS "interrupts" provide OS services.

any more such differences ? and
do both type of interrupts have the Interrupt service routine address listed in interrupt vector table.
please explain
thanks.

 

by: dimitryPosted on 2007-01-07 at 22:27:21ID: 18265070

 

by: SunBowPosted on 2007-01-08 at 12:15:39ID: 18270007

This is not a completely fair question since the rules of the road (definitons and functions) change regularly. Interrupts originally were hardware oriented, a very immediate need to attend to timely information electronically. Think of a clock that depends on being on time by getting its input in the form of a pulse. If the clock is so busy that it misses some of those pulses then it will gradually lose time. So for the hardware interrupts, they mandate the getting of attention while the information is still available. This could be the gathering of the latest character that came in through a modem before the next character in the stream arrives. Like the clock example, if computer is too busy, the receipt of the information from the modem will end up missing a few characters. Now picture this as coming up from below, the CPU actually changing the address of the next instruction all on its own.

The opposite effect is top-down, where a program decides it needs to interfere with regular processing and hurry on to process something quickly. This can be something like sending anther character to the modem (or monitor etc).

The nature of both is to ensure that no other process will interfere with the exact sequence of code until permitted, which should be promptly after performing a 'save state' operation, which in Assembly Language is essentially preserving the content of the registers that the program intends to use, and any other data item needed. Once that is done then it will permit other processes to interrupt the rest of the routine. One key ingredient here is the use of stacks.

dimitry > Let's use word "services" instead of interrupts.

:-))
Good idea, they are not much more than subroutines, some of which call other subroutines (a waste). Just not to be confused with the Services concept used by XP

> BIOS "interrupts" provide basic Input / Output services.

By definition (I/O is input/output)

bbk_doll > DOS "interrupts" provide OS services.

OK

> What is difference between DOS Interrupts and BIOS Interrupts?

It is actually not all that simple, if we ignore Windows an address older DOS, which was actually further fractionalized, with maybe four such categories, which varied by version level.

There are programs on the BIOS chip. There are also two files used by the OS that have code. One can be called something like IO.SYS or BIOS.SYS etc, and the other as DOS.SYS or MSDOS.SYS etc. Those may be of what you refer to in the question. But their content changed over time (version). In theory these three should have been layered, from bottom up in the order just presented, but MS had ever had problem following rules and organizing in layers. One file eventually became text based (not binary code).

Another issue was whether DOS was resident or not. Also revised from version to  version, when DOS would start up another program, to make more memory available it would remove much of its own code from RAM. In theory this ought to be the highest level parts of DOS, such as interpretting whether or not the user is requesting the processing of a 'DIR' command. That would not be needed any longer since the input from keyboard is transferred to the new program. I am not sure that this applies to the question as asked, but it is key part of same process, such as code layering.

> Please explain 3-4 differences.

Sounds like attempt for a question in a classroom setting. In review, I can only now think of one, like dimitry put it:

> DOS services have file access but BIOS services provide just raw disk

The layering idea of high to low level.

> differences if any between BIOS and DOS interrupts like their calling, working, Interrupt Vector Table etc.

Well, another difference could possibly be the direction of the call, whether from low to high or from high to low. For low-level access, the vector table has to immediately get to a routine to preserve data. With the ones for high to low calling, the DOS ones require user to preserve their own registers and data before calling the interrupt. That helps to minimize the duration of the time that interrupts are prohibited.

Maybe a third difference could be that BIOS is always self contained code, while DOS may be code that call other code that calls other code, including capability of one SW interrupt to invoke another. That is not done for low level IO, which does not take time4 to repetetively save the state of the machine.

How about a 4th difference being that all of the BIOS must be constantly resident, but some of DOS can be transient (either memory resident or not, depending on circumstance).

 

by: SunBowPosted on 2007-01-08 at 12:40:02ID: 18270209

On the issue or order of precedence, the BIOS chip being lowest level, it does not know what a filesystem is. Another difference is the calling order, where each calls, loads, invokes the next one in sequence of low to high level. Once it completes boot code, it goes to the IO system which can get configuration information from user's Config file to complete the driver update process, then it turns system over to DOS which can get user information from AUTOEXEC. This can be a 5th difference. See link and an extract below:


http://www.bitzenbytes.com/Content-Arcanum-18-1-7.html

IO.SYS contains resident device drivers, the basic MS-DOS BIOS extensions initialization module, and the MS-DOS system initialization module, SYSINIT. Both initialization modules are discarded after use. The device drivers remain resident.

  ...

SYSINIT opens CONFIG.SYS if it exists. CONFIG.SYS is read into high memory and converts all characters to uppercase. The file contents are read to determine the system parameters that will be used. If a parameter setting is not specified in CONFIG.SYS, the default value is set. The data structures built to specification are stored in memory after the MSDOS kernel. SYSINIT processes the CONFIG.SYS parameters sequentially. "Installable" device drivers are loaded and initialized one at a time. SYSINIT then closes all open files and opens the character deviced, CON, PRN (LPT1), and AUX (COM1). SYSINIT loads the command shell using the MSDOS EXEC function.

The typical basic shell under DOS is COMMAND.COM or CLI (command line interface) and it consists of a resident portion, an initialization portion and a transient portion. The initialization module is called once by COMMAND.COM and it moves the transient portion of the command shell to high memory. Next it processes AUTOEXEC.BAT and returns control to the resident portion of COMMAND.COM.  Under 16 bit Windows 3.XX, COMMAND.COM continues as the basic shell with Windows running as an operating environment under DOS.

<etc>

 

by: SunBowPosted on 2007-01-10 at 09:00:19ID: 18285372

Thanks, I hope you are enabled to make use of some of the above

20120131-EE-VQP-002

3 Ways to Join

30-Day Free Trial

The Experts

98% positive feedback on 31,087 answers since March 2000. angeliii is a Microsoft Most Valuable Professional for his work with MS SQL Server & Develoment.

He has also proven his knowledge of Visual Basic Programming, PHP Scripting and Oracle Databases.

The Experts

97% positive feedback on 10,752 answers since July 2000. lrmoore has more than 18 years experience in the networking industry.

The six-time Mircosoft MVPs specialties include firewalls, virtual private networking, and network management.

Testimonials

"...and excellent source for support... Kind of like having your very own IT dept." Electriciansnet

Testimonials

"I was apprehensive at signing up at first. However... it has already made my life as an IT administrator much easier." JaCrews

Testimonials

"WOW! You guys have great, active, and knowledgeable people on here." moore50

Business Clients

Business Clients

In the Press

"If you’ve got a question... Experts Exchange can supply an answer.”

In the Press

"...an invaluable aid for both IT professionals and those who require tech support."

In the Press

"where IT professionals provide quick answers on just about any topic"

Business Account Plans

Loading Advertisement...